Beispiel #1
0
    def player_defending(self, flights: db.TaskForceDict):
        assert CAP in flights and len(
            flights) == 1, "Invalid scrambled flights"

        cas = self.departure_cp.base.scramble_cas(
            self.game.settings.multiplier)
        escort = self.departure_cp.base.scramble_sweep(
            self.game.settings.multiplier)
        attackers = self.departure_cp.base.armor

        op = BaseAttackOperation(game=self.game,
                                 attacker_name=self.attacker_name,
                                 defender_name=self.defender_name,
                                 from_cp=self.from_cp,
                                 departure_cp=self.departure_cp,
                                 to_cp=self.to_cp)

        op.setup(cas=assigned_units_from(cas),
                 escort=assigned_units_from(escort),
                 intercept=flights[CAP],
                 attack=attackers,
                 defense=self.to_cp.base.armor,
                 aa=self.to_cp.base.aa)

        self.operation = op
Beispiel #2
0
    def player_attacking(self, flights: db.TaskForceDict):
        assert CAP in flights and CAS in flights and PinpointStrike in flights and len(
            flights) == 3, "Invalid flights"

        op = BaseAttackOperation(game=self.game,
                                 attacker_name=self.attacker_name,
                                 defender_name=self.defender_name,
                                 from_cp=self.from_cp,
                                 departure_cp=self.departure_cp,
                                 to_cp=self.to_cp)

        defenders = self.to_cp.base.scramble_last_defense()
        #defenders.update(self.to_cp.base.scramble_cas(self.game.settings.multiplier))

        op.setup(cas=flights[CAS],
                 escort=flights[CAP],
                 attack=unitdict_from(flights[PinpointStrike]),
                 intercept=assigned_units_from(defenders),
                 defense=self.to_cp.base.armor,
                 aa=self.to_cp.base.assemble_aa())

        self.operation = op