mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Fixed debriefing success validation for others events.
This commit is contained in:
parent
9f0c17115e
commit
d4d7b546e1
@ -25,8 +25,16 @@ class BaseAttackEvent(Event):
|
|||||||
return "Ground attack"
|
return "Ground attack"
|
||||||
|
|
||||||
def is_successfull(self, debriefing: Debriefing):
|
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 = alive_attackers >= alive_defenders
|
attackers_success = alive_attackers >= alive_defenders
|
||||||
if self.departure_cp.captured:
|
if self.departure_cp.captured:
|
||||||
return attackers_success
|
return attackers_success
|
||||||
|
|||||||
@ -53,7 +53,13 @@ class ConvoyStrikeEvent(Event):
|
|||||||
self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE)
|
self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE)
|
||||||
|
|
||||||
def is_successfull(self, debriefing: Debriefing):
|
def is_successfull(self, debriefing: Debriefing):
|
||||||
killed_units = sum([v for k, v in debriefing.destroyed_units.get(self.defender_name, {}).items() if db.unit_task(k) in [PinpointStrike, Reconnaissance]])
|
|
||||||
|
if self.game.player_name == self.attacker_name:
|
||||||
|
defender_country = self.game.enemy_country
|
||||||
|
else:
|
||||||
|
defender_country = self.game.player_country
|
||||||
|
|
||||||
|
killed_units = sum([v for k, v in debriefing.destroyed_units.get(defender_country, {}).items() if db.unit_task(k) in [PinpointStrike, Reconnaissance]])
|
||||||
all_units = sum(self.targets.values())
|
all_units = sum(self.targets.values())
|
||||||
attackers_success = (float(killed_units) / (all_units + 0.01)) > self.SUCCESS_FACTOR
|
attackers_success = (float(killed_units) / (all_units + 0.01)) > self.SUCCESS_FACTOR
|
||||||
if self.from_cp.captured:
|
if self.from_cp.captured:
|
||||||
|
|||||||
@ -29,8 +29,16 @@ class FrontlinePatrolEvent(Event):
|
|||||||
return "Frontline CAP"
|
return "Frontline CAP"
|
||||||
|
|
||||||
def is_successfull(self, debriefing: Debriefing):
|
def is_successfull(self, debriefing: Debriefing):
|
||||||
alive_attackers = sum([v for k, v in debriefing.alive_units[self.attacker_name].items() if db.unit_task(k) == PinpointStrike])
|
|
||||||
alive_defenders = sum([v for k, v in debriefing.alive_units[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[attacker_country].items() if db.unit_task(k) == PinpointStrike])
|
||||||
|
alive_defenders = sum([v for k, v in debriefing.alive_units[defender_country].items() if db.unit_task(k) == PinpointStrike])
|
||||||
attackers_success = (float(alive_attackers) / (alive_defenders + 0.01)) >= self.SUCCESS_FACTOR
|
attackers_success = (float(alive_attackers) / (alive_defenders + 0.01)) >= self.SUCCESS_FACTOR
|
||||||
if self.from_cp.captured:
|
if self.from_cp.captured:
|
||||||
return attackers_success
|
return attackers_success
|
||||||
|
|||||||
@ -36,7 +36,13 @@ class InsurgentAttackEvent(Event):
|
|||||||
self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE)
|
self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE)
|
||||||
|
|
||||||
def is_successfull(self, debriefing: Debriefing):
|
def is_successfull(self, debriefing: Debriefing):
|
||||||
killed_units = sum([v for k, v in debriefing.destroyed_units[self.attacker_name].items() if db.unit_task(k) == PinpointStrike])
|
|
||||||
|
if self.game.player_name == self.attacker_name:
|
||||||
|
attacker_country = self.game.player_country
|
||||||
|
else:
|
||||||
|
attacker_country = self.game.enemy_country
|
||||||
|
|
||||||
|
killed_units = sum([v for k, v in debriefing.destroyed_units[attacker_country].items() if db.unit_task(k) == PinpointStrike])
|
||||||
all_units = sum(self.targets.values())
|
all_units = sum(self.targets.values())
|
||||||
attackers_success = (float(killed_units) / (all_units + 0.01)) > self.SUCCESS_FACTOR
|
attackers_success = (float(killed_units) / (all_units + 0.01)) > self.SUCCESS_FACTOR
|
||||||
if self.from_cp.captured:
|
if self.from_cp.captured:
|
||||||
|
|||||||
@ -42,7 +42,13 @@ class InterceptEvent(Event):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def is_successfull(self, debriefing: Debriefing):
|
def is_successfull(self, debriefing: Debriefing):
|
||||||
units_destroyed = debriefing.destroyed_units.get(self.defender_name, {}).get(self.transport_unit, 0)
|
|
||||||
|
if self.game.player_name == self.attacker_name:
|
||||||
|
defender_country = self.game.enemy_country
|
||||||
|
else:
|
||||||
|
defender_country = self.game.player_country
|
||||||
|
|
||||||
|
units_destroyed = debriefing.destroyed_units.get(defender_country, {}).get(self.transport_unit, 0)
|
||||||
if self.from_cp.captured:
|
if self.from_cp.captured:
|
||||||
return units_destroyed > 0
|
return units_destroyed > 0
|
||||||
else:
|
else:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user