@staticmethod
def get_battle_performance(data: list, account_id: str, file_id: int,
    replay_date: str) ->list:
    """
        Extracts all the parameters required to fill the model from the battle data.
        """
    raw_data = data[0]['personal']
    battle_id = list(raw_data.keys())[0]
    battle_data = raw_data[battle_id]
    battle_performance = [{'replay_date': replay_date, 'file_id': file_id,
        'account_id': account_id, 'stunned': battle_data.get('stunned',
        None), 'direct_hits': battle_data.get('directHits', None),
        'damage_assisted_radio': battle_data.get('damageAssistedRadio',
        None), 'stun_duration': battle_data.get('stunDuration', None),
        'win_points': battle_data.get('winPoints', None),
        'damaged_while_moving': battle_data.get('damagedWhileMoving', None),
        'kills': battle_data.get('kills', None),
        'percent_from_total_team_damage': battle_data.get(
        'percentFromTotalTeamDamage', None), 'mark_of_mastery': battle_data
        .get('markOfMastery', None), 'no_damage_direct_hits_received':
        battle_data.get('noDamageDirectHitsReceived', None),
        'equipment_damage_dealt': battle_data.get('equipmentDamageDealt',
        None), 'tkills': battle_data.get('tkills', None), 'shots':
        battle_data.get('shots', None), 'team': battle_data.get('team',
        None), 'death_count': battle_data.get('deathCount', None),
        'stun_number': battle_data.get('stunNum', None), 'spotted':
        battle_data.get('spotted', None), 'killer_id': battle_data.get(
        'killerID', None), 'solo_flag_capture': battle_data.get(
        'soloFlagCapture', None), 'marks_on_gun': battle_data.get(
        'marksOnGun', None), 'killed_and_damaged_by_all_squad_mates':
        battle_data.get('killedAndDamagedByAllSquadmates', None),
        'rollouts_count': battle_data.get('rolloutsCount', None), 'health':
        battle_data.get('health', None), 'stop_respawn': battle_data.get(
        'stopRespawn', None), 't_damage_dealt': battle_data.get(
        'tdamageDealt', None), 'resource_absorbed': battle_data.get(
        'resourceAbsorbed', None), 'damaged_while_enemy_moving':
        battle_data.get('damagedWhileEnemyMoving', None), 'damage_received':
        battle_data.get('damageReceived', None),
        'percent_from_second_best_damage': battle_data.get(
        'percentFromSecondBestDamage', None), 'committed_suicide':
        battle_data.get('committedSuicide', None), 'life_time': battle_data
        .get('lifeTime', None), 'damage_assisted_track': battle_data.get(
        'damageAssistedTrack', None), 'sniper_damage_dealt': battle_data.
        get('sniperDamageDealt', None), 'fairplay_factor': battle_data.get(
        'fairplayFactor10', None), 'damage_blocked_by_armour': battle_data.
        get('damageBlockedByArmor', None), 'dropped_capture_points':
        battle_data.get('droppedCapturePoints', None),
        'damage_received_from_invisibles': battle_data.get(
        'damageReceivedFromInvisibles', None), 'max_health': battle_data.
        get('maxHealth', None), 'moving_avg_damage': battle_data.get(
        'movingAvgDamage', None), 'flag_capture': battle_data.get(
        'flagCapture', None), 'kills_before_team_was_damaged': battle_data.
        get('killsBeforeTeamWasDamaged', None), 'potential_damage_received':
        battle_data.get('potentialDamageReceived', None),
        'direct_team_hits': battle_data.get('directTeamHits', None),
        'damage_dealt': battle_data.get('damageDealt', None),
        'piercings_received': battle_data.get('piercingsReceived', None),
        'piercings': battle_data.get('piercings', None),
        'prev_mark_of_mastery': battle_data.get('prevMarkOfMastery', None),
        'damaged': battle_data.get('damaged', None), 'death_reason':
        battle_data.get('deathReason', None), 'capture_points': battle_data
        .get('capturePoints', None), 'damage_before_team_was_damaged':
        battle_data.get('damageBeforeTeamWasDamaged', None),
        'explosion_hits_received': battle_data.get('explosionHitsReceived',
        None), 'damage_rating': battle_data.get('damageRating', None),
        'mileage': battle_data.get('mileage', None), 'explosion_hits':
        battle_data.get('explosionHits', None), 'direct_hits_received':
        battle_data.get('directHitsReceived', None), 'is_team_killer':
        battle_data.get('isTeamKiller', None), 'capturing_base':
        battle_data.get('capturingBase', None), 'damage_assisted_stun':
        battle_data.get('damageAssistedStun', None),
        'damage_assisted_smoke': battle_data.get('damageAssistedSmoke',
        None), 't_destroyed_modules': battle_data.get('tdestroyedModules',
        None), 'damage_assisted_inspire': battle_data.get(
        'damageAssistedInspire', None)}]
    return battle_performance
