def __init(self, target_ship): self.target_ship = target_ship self.combatIntermissions = { self.missionStates.sailing_to_target: (self.sail_to_target, self.flee_home), self.missionStates.in_combat: (self.check_ship_alive, self.flee_home), self.missionStates.fleeing_home: (self.flee_home, self.flee_home), } self._state_fleet_callbacks = { self.missionStates.sailing_to_target: Callback(self.was_reached), self.missionStates.fleeing_home: Callback(self.report_failure, "Combat was lost, ships fled home successfully"), } ShipDestroyed.subscribe(self._on_ship_destroyed)