diff --git a/game/event/frontlineattack.py b/game/event/frontlineattack.py index 501a6a12..d834098a 100644 --- a/game/event/frontlineattack.py +++ b/game/event/frontlineattack.py @@ -38,8 +38,17 @@ class FrontlineAttackEvent(Event): return "Frontline attack" def is_successfull(self, debriefing: Debriefing): - alive_attackers = sum([v for k, v in debriefing.alive_units.get(self.attacker_name, {}).items() if db.unit_task(k) == PinpointStrike]) - alive_defenders = sum([v for k, v in debriefing.alive_units.get(self.defender_name, {}).items() if db.unit_task(k) == PinpointStrike]) + + if self.game.player_name == self.attacker_name: + attacker_country = self.game.player_country + defender_country = self.game.enemy_country + else: + attacker_country = self.game.enemy_country + defender_country = self.game.player_country + + alive_attackers = sum([v for k, v in debriefing.alive_units.get(attacker_country, {}).items() if db.unit_task(k) == PinpointStrike]) + alive_defenders = sum([v for k, v in debriefing.alive_units.get(defender_country, {}).items() if db.unit_task(k) == PinpointStrike]) + attackers_success = (float(alive_attackers) / (alive_defenders + 0.01)) > self.SUCCESS_FACTOR if self.from_cp.captured: return attackers_success