77 lines
1.6 KiB
Python
77 lines
1.6 KiB
Python
"""
|
|
Represents a battle instance.
|
|
|
|
todo: finding battles. factory for missions, skirmishes?
|
|
"""
|
|
|
|
# basic battle: responsible for managing, recognizing and parsing a single battle instance.
|
|
class Battle(object):
|
|
def __init__(self, parent=None):
|
|
# parent is a log-session usually
|
|
self.players = []
|
|
self.teams = []
|
|
self.time_start = None
|
|
self.time_end = None
|
|
self.owner = None
|
|
self.live = False # whether this is a streamed object.
|
|
self.map = None
|
|
|
|
def parse_details(self):
|
|
# fast parse strategy: fill in all details about this battle.
|
|
pass
|
|
|
|
def parse_statistics(self):
|
|
# parse battle statistics.
|
|
pass
|
|
|
|
class PvPBattle(Battle):
|
|
pass
|
|
|
|
class PvPTDM(PvPBattle):
|
|
pass
|
|
|
|
class PvPDomination(PvPBattle):
|
|
pass
|
|
|
|
class PvPCombatRecon(PvPBattle):
|
|
pass
|
|
|
|
class PvPCtB(PvPBattle):
|
|
pass
|
|
|
|
class PvPDetonation(PvPBattle):
|
|
pass
|
|
|
|
class PvPBeaconHunt(PvPBattle):
|
|
pass
|
|
|
|
# Dreads
|
|
class DreadnoughtBattle(Battle):
|
|
pass
|
|
|
|
### PvE Stuff: low prio.
|
|
class PvEBattle(Battle):
|
|
pass
|
|
|
|
class PvERaidBattle(PvEBattle):
|
|
pass
|
|
|
|
# Openspace time.
|
|
class Openspace(Battle):
|
|
pass
|
|
|
|
|
|
###
|
|
def battle_factory(logs):
|
|
''' takes a log session and returns the battles in it
|
|
makes a preliminary scan for information
|
|
'''
|
|
|
|
if logs.combat_log and logs.game_log:
|
|
# without these it does not make sense
|
|
# check combat_log
|
|
|
|
pass
|
|
return []
|
|
|
|
|