Return all Non-Terrain divisions and their bh damage
This commit is contained in:
parent
e8c81d17e6
commit
c43e20c8f6
@ -1516,35 +1516,33 @@ class CitizenMilitary(CitizenTravel):
|
|||||||
ret_battles = ret_battles + cs_battles + deployed_battles + other_battles
|
ret_battles = ret_battles + cs_battles + deployed_battles + other_battles
|
||||||
return ret_battles
|
return ret_battles
|
||||||
|
|
||||||
def get_cheap_tp_divisions(self) -> Optional[classes.BattleDivision]:
|
def get_cheap_tp_divisions(self) -> Dict[str, List[Tuple[int, classes.BattleDivision]]]:
|
||||||
air_divs: List[Tuple[classes.BattleDivision, int]] = []
|
air_divs: List[Tuple[int, classes.BattleDivision]] = []
|
||||||
ground_divs: List[Tuple[classes.BattleDivision, int]] = []
|
ground_divs: List[Tuple[int, classes.BattleDivision]] = []
|
||||||
for battle in reversed(self.sorted_battles(True, True)):
|
for battle in reversed(self.sorted_battles(True, True)):
|
||||||
for division in battle.div.values():
|
for division in battle.div.values():
|
||||||
if not division.terrain:
|
is_start_ok = utils.good_timedelta(division.battle.start, timedelta(minutes=-1)) < self.now
|
||||||
|
if not division.terrain and is_start_ok and not division.div_end:
|
||||||
if division.is_air and self.config.air:
|
if division.is_air and self.config.air:
|
||||||
medal = self.get_battle_round_data(division)[
|
division_medals = self.get_battle_round_data(division)
|
||||||
self.details.citizenship == division.battle.defender.id]
|
medal = division_medals[self.details.citizenship == division.battle.defender.country]
|
||||||
if not medal and division.battle.start:
|
if not medal:
|
||||||
return division
|
air_divs.append((0, division))
|
||||||
else:
|
else:
|
||||||
air_divs.append((division, medal.get('1').get('raw_value')))
|
air_divs.append((medal.get('1').get('raw_value'), division))
|
||||||
elif self.config.ground:
|
elif not division.is_air and self.config.ground:
|
||||||
if not division.div == self.division and not self.maverick:
|
if not division.div == self.division and not self.maverick:
|
||||||
continue
|
continue
|
||||||
division_medals = self.get_battle_round_data(division)
|
division_medals = self.get_battle_round_data(division)
|
||||||
medal = division_medals[self.details.citizenship == division.battle.defender.country]
|
medal = division_medals[self.details.citizenship == division.battle.defender.country]
|
||||||
if not medal and division.battle.start:
|
if not medal:
|
||||||
return division
|
ground_divs.append((0, division))
|
||||||
else:
|
else:
|
||||||
ground_divs.append((division, medal.get('1').get('raw_value')))
|
ground_divs.append((medal.get('1').get('raw_value'), division))
|
||||||
|
|
||||||
if self.config.air:
|
air_divs.sort(key=lambda dmg, div: (dmg, div.start))
|
||||||
return min(air_divs, key=lambda x: x[1])[0]
|
ground_divs.sort(key=lambda dmg, div: (dmg, div.start))
|
||||||
elif self.config.ground:
|
return {'air': air_divs, 'ground': ground_divs}
|
||||||
return min(ground_divs, key=lambda x: x[1])[0]
|
|
||||||
else:
|
|
||||||
return
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def has_battle_contribution(self):
|
def has_battle_contribution(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user