mirror of
https://github.com/Jylpah/blitz-tools.git
synced 2026-10-21 10:17:05 +02:00
Add --mode dmg_received, improved --mode help, new fields
This commit is contained in:
1 parent
f8a0fdfbe1
commit
446e289041
1 file changed
+44
-9
+44
-9
@@ -894,15 +894,21 @@ class BattleCategory():
|
|||||||
'battles%' : [ '% Battles', 'Share of Battles', 9, '{:9.0%}' ],
|
'battles%' : [ '% Battles', 'Share of Battles', 9, '{:9.0%}' ],
|
||||||
'win' : [ 'WR', 'Win rate', 6, '{:6.1%}' ],
|
'win' : [ 'WR', 'Win rate', 6, '{:6.1%}' ],
|
||||||
'damage_made' : [ 'DPB', 'Average Damage', 5, '{:5.0f}' ],
|
'damage_made' : [ 'DPB', 'Average Damage', 5, '{:5.0f}' ],
|
||||||
|
'damage_received' : [ 'DPBr', 'Average Damage Received', 5, '{:5.0f}' ],
|
||||||
'enemies_destroyed' : [ 'KPB', 'Kills / Battle', 4, '{:4.2f}' ],
|
'enemies_destroyed' : [ 'KPB', 'Kills / Battle', 4, '{:4.2f}' ],
|
||||||
'DR' : [ 'DR', 'Damage Ratio', 5, '{:5.1f}' ],
|
'DR' : [ 'DR', 'Damage Ratio', 5, '{:5.1f}' ],
|
||||||
'KDR' : [ 'KDR', 'Kills / Death', 4, '{:4.1f}' ],
|
'KDR' : [ 'KDR', 'Kills / Death', 4, '{:4.1f}' ],
|
||||||
'enemies_spotted' : [ 'Spot', 'Enemies spotted per battle', 4, '{:4.1f}' ],
|
'enemies_spotted' : [ 'Spot', 'Enemies spotted per battle', 4, '{:4.1f}' ],
|
||||||
'hit_rate' : [ 'Hit rate', 'Shots hit / all shots made', 8, '{:8.1%}' ],
|
'hit_rate' : [ 'Hit rate', 'Shots hit / all shots made', 8, '{:8.1%}' ],
|
||||||
|
'shots_made' : [ 'Shots', 'Shots made', 5, '{:5.1f}' ],
|
||||||
|
'hits_received' : [ 'Hits R.', 'Hits reveived', 7, '{:7.1f}' ],
|
||||||
'pen_rate' : [ 'Pen rate', 'Shots pen / shots hit', 8, '{:8.1%}' ],
|
'pen_rate' : [ 'Pen rate', 'Shots pen / shots hit', 8, '{:8.1%}' ],
|
||||||
|
'pen_rate_received' : [ 'Penned%', 'Received hits pen / hits received', 7, '{:7.1%}' ],
|
||||||
|
'splash_rate' : [ 'Splash%', 'HE splash shots / shots hit', 7, '{:7.1%}' ],
|
||||||
|
'splash_rate_received' : [ 'Splashed%', 'HE splash shots received / hits received', 9, '{:9.1%}' ],
|
||||||
'survived' : [ 'Surv%', 'Survival rate', 6, '{:6.1%}' ],
|
'survived' : [ 'Surv%', 'Survival rate', 6, '{:6.1%}' ],
|
||||||
'time_alive' : [ 'T alive', 'Time being alive in a battle in secs', 7, '{:7.0f}' ],
|
'time_alive' : [ 'T alive', 'Time being alive in a battle in secs', 7, '{:7.0f}' ],
|
||||||
'alive' : [ 'Share live', 'Percentage of time being alive in a battle', 8, '{:8.0%}' ],
|
'alive' : [ 'Share live', 'Percentage of time being alive in a battle', 8, '{:8.0%}' ],
|
||||||
'battle_duration' : [ 'Duration', 'Battle duration', 8, '{:8.0f}' ],
|
'battle_duration' : [ 'Duration', 'Battle duration', 8, '{:8.0f}' ],
|
||||||
'distance_travelled': [ 'Distance', 'Distance travelled', 8, '{:8.0f}' ],
|
'distance_travelled': [ 'Distance', 'Distance travelled', 8, '{:8.0f}' ],
|
||||||
'top_tier' : [ 'Top tier', 'Share of games as top tier', 8, '{:8.0%}' ],
|
'top_tier' : [ 'Top tier', 'Share of games as top tier', 8, '{:8.0%}' ],
|
||||||
@@ -929,7 +935,9 @@ class BattleCategory():
|
|||||||
'player_battles','allies_battles','enemies_battles' ],
|
'player_battles','allies_battles','enemies_battles' ],
|
||||||
'extended' : [ 'battles', 'battles%', 'win','damage_made', 'enemies_destroyed', 'enemies_spotted',
|
'extended' : [ 'battles', 'battles%', 'win','damage_made', 'enemies_destroyed', 'enemies_spotted',
|
||||||
'top_tier', 'DR', 'KDR', 'hit_rate', 'pen_rate', 'survived', 'alive',
|
'top_tier', 'DR', 'KDR', 'hit_rate', 'pen_rate', 'survived', 'alive',
|
||||||
'player_wins', 'allies_wins', 'enemies_wins', MISSING_STATS ],
|
'player_wins', 'allies_wins', 'enemies_wins', MISSING_STATS ],
|
||||||
|
'dmg_received' : [ 'battles', 'win','damage_made', 'damage_received', 'enemies_destroyed', 'top_tier', 'DR',
|
||||||
|
'hits_received', 'pen_rate_received', 'splash_rate_received'],
|
||||||
'all' : [ cat for cat in _result_fields.keys() ]
|
'all' : [ cat for cat in _result_fields.keys() ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -945,7 +953,10 @@ class BattleCategory():
|
|||||||
'KDR' : [ 'enemies_destroyed', 'destroyed' ],
|
'KDR' : [ 'enemies_destroyed', 'destroyed' ],
|
||||||
'DR' : [ 'damage_made', 'damage_received' ],
|
'DR' : [ 'damage_made', 'damage_received' ],
|
||||||
'hit_rate' : [ 'shots_hit', 'shots_made' ],
|
'hit_rate' : [ 'shots_hit', 'shots_made' ],
|
||||||
|
'splash_rate' : [ 'shots_splash', 'shots_hit' ],
|
||||||
|
'splash_rate_received' : [ 'hits_splash', 'hits_received' ],
|
||||||
'pen_rate' : [ 'shots_pen', 'shots_hit' ],
|
'pen_rate' : [ 'shots_pen', 'shots_hit' ],
|
||||||
|
'pen_rate_received' : [ 'hits_pen', 'hits_received' ],
|
||||||
'dmg_block_rate' : [ 'damage_blocked', 'damage_received' ]
|
'dmg_block_rate' : [ 'damage_blocked', 'damage_received' ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1016,12 +1027,21 @@ class BattleCategory():
|
|||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_field_name(cls, field: str):
|
def get_field_name(cls, field: str) -> str:
|
||||||
try:
|
try:
|
||||||
return cls._result_fields[field][0]
|
return cls._result_fields[field][0]
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
bu.error(exception=err)
|
bu.error(exception=err)
|
||||||
|
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_field_description(cls, field: str) -> str:
|
||||||
|
try:
|
||||||
|
return cls._result_fields[field][1]
|
||||||
|
except Exception as err:
|
||||||
|
bu.error(exception=err)
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_field_width(cls, field: str):
|
def get_field_width(cls, field: str):
|
||||||
try:
|
try:
|
||||||
@@ -1083,6 +1103,17 @@ class BattleCategory():
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def help(cls):
|
||||||
|
try:
|
||||||
|
for field in cls.get_result_fields_all():
|
||||||
|
print('{:24s} : {}'.format(field, cls.get_field_description(field)))
|
||||||
|
except Exception as err:
|
||||||
|
bu.error(exception=err)
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
@@ -1597,11 +1628,17 @@ async def help_extended(db : motor.motor_asyncio.AsyncIOMotorDatabase = None, pa
|
|||||||
parser.print_help()
|
parser.print_help()
|
||||||
# Result category options
|
# Result category options
|
||||||
|
|
||||||
|
# Results fields
|
||||||
|
print('\n-------------------------------------------------------------------')
|
||||||
|
print('| Result fields |')
|
||||||
|
print('-------------------------------------------------------------------\n')
|
||||||
|
|
||||||
|
BattleCategory.help()
|
||||||
|
|
||||||
# Filter usage
|
# Filter usage
|
||||||
print('\n-------------------------------------------------------------------')
|
print('\n-------------------------------------------------------------------')
|
||||||
print('| DB Filter usage |')
|
print('| DB Filter usage |')
|
||||||
print('-------------------------------------------------------------------')
|
print('-------------------------------------------------------------------\n')
|
||||||
print('')
|
|
||||||
print('You are unlikely to have DB setup required for these filters. This is "Jylpah\'s special"')
|
print('You are unlikely to have DB setup required for these filters. This is "Jylpah\'s special"')
|
||||||
print('')
|
print('')
|
||||||
print("Syntax: --filters_db '{ \"replay.param\": VALUE, \"replay.param2\": { \"$MONGO_OPERATOR\" : VALUE }, ... }'")
|
print("Syntax: --filters_db '{ \"replay.param\": VALUE, \"replay.param2\": { \"$MONGO_OPERATOR\" : VALUE }, ... }'")
|
||||||
@@ -1622,8 +1659,7 @@ async def help_extended(db : motor.motor_asyncio.AsyncIOMotorDatabase = None, pa
|
|||||||
|
|
||||||
print('\n-------------------------------------------------------------------')
|
print('\n-------------------------------------------------------------------')
|
||||||
print('| Filters |')
|
print('| Filters |')
|
||||||
print('-------------------------------------------------------------------')
|
print('-------------------------------------------------------------------\n')
|
||||||
print('')
|
|
||||||
print("\t--filters '{ \"categorization\" : category }'")
|
print("\t--filters '{ \"categorization\" : category }'")
|
||||||
print('\tThese filters let you filter only battles matching the filter. The filter has been proper JSON dict.')
|
print('\tThese filters let you filter only battles matching the filter. The filter has been proper JSON dict.')
|
||||||
print("\tExample: --filter '{ \"room_type\" :1 }'")
|
print("\tExample: --filter '{ \"room_type\" :1 }'")
|
||||||
@@ -1631,8 +1667,7 @@ async def help_extended(db : motor.motor_asyncio.AsyncIOMotorDatabase = None, pa
|
|||||||
BattleCategorizationList.help()
|
BattleCategorizationList.help()
|
||||||
print('\n-------------------------------------------------------------------')
|
print('\n-------------------------------------------------------------------')
|
||||||
print('| Rounding errors |')
|
print('| Rounding errors |')
|
||||||
print('-------------------------------------------------------------------')
|
print('-------------------------------------------------------------------\n')
|
||||||
print('')
|
|
||||||
print('Yes, the numbers are rounded UP because reasons.')
|
print('Yes, the numbers are rounded UP because reasons.')
|
||||||
print('If interested why please read this: ')
|
print('If interested why please read this: ')
|
||||||
print('\thttps://realpython.com/python-rounding/#pythons-built-in-round-function')
|
print('\thttps://realpython.com/python-rounding/#pythons-built-in-round-function')
|
||||||
|
|||||||
Reference in new issue
Block a user