multiplier new game setting (unit amounts option); tweaked commisions

This commit is contained in:
Vasyl Horbachenko
2018-06-22 02:11:47 +03:00
parent 1a491bb814
commit 25e2681665
13 changed files with 119 additions and 215 deletions

View File

@@ -79,7 +79,7 @@ class AntiAAStrikeEvent(Event):
to_cp=self.to_cp
)
strikegroup = self.from_cp.base.scramble_cas()
strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier)
op.setup(target=self.targets,
strikegroup=strikegroup,
interceptors=interceptors)

View File

@@ -21,7 +21,7 @@ class CaptureEvent(Event):
@property
def threat_description(self):
descr = "{} aircraft + CAS, {} vehicles".format(
self.enemy_cp.base.scramble_count(),
self.enemy_cp.base.scramble_count(self.game.settings.multiplier),
self.enemy_cp.base.assemble_count()
)
@@ -57,9 +57,9 @@ class CaptureEvent(Event):
self.to_cp.captured = False
def player_defending(self, interceptors: db.PlaneDict, clients: db.PlaneDict):
cas = self.from_cp.base.scramble_cas()
escort = self.from_cp.base.scramble_sweep()
attackers = self.from_cp.base.assemble_cap()
cas = self.from_cp.base.scramble_cas(self.game.settings.multiplier)
escort = self.from_cp.base.scramble_sweep(self.game.settings.multiplier)
attackers = self.from_cp.base.armor
op = CaptureOperation(game=self.game,
attacker_name=self.attacker_name,
@@ -79,9 +79,6 @@ class CaptureEvent(Event):
self.operation = op
def player_attacking(self, cas: db.PlaneDict, escort: db.PlaneDict, armor: db.ArmorDict, clients: db.PlaneDict):
# TODO: also include CAS planes
interceptors = self.to_cp.base.scramble_sweep()
op = CaptureOperation(game=self.game,
attacker_name=self.attacker_name,
defender_name=self.defender_name,
@@ -90,11 +87,13 @@ class CaptureEvent(Event):
from_cp=self.from_cp,
to_cp=self.to_cp)
defenders = self.to_cp.base.scramble_sweep(self.game.settings.multiplier)
defenders.update(self.to_cp.base.scramble_cas(self.game.settings.multiplier))
op.setup(cas=cas,
escort=escort,
attack=armor,
intercept=interceptors,
# TODO: should strength affect this?
intercept=defenders,
defense=self.to_cp.base.armor,
aa=self.to_cp.base.assemble_aa())

View File

@@ -14,6 +14,7 @@ class Event:
is_awacs_enabled = False
operation = None # type: Operation
difficulty = 1 # type: int
game = None # type: Game
BONUS_BASE = 0
def __init__(self, attacker_name: str, defender_name: str, from_cp: ControlPoint, to_cp: ControlPoint, game):

View File

@@ -88,7 +88,7 @@ class GroundInterceptEvent(Event):
to_cp=self.to_cp
)
strikegroup = self.from_cp.base.scramble_cas()
strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier)
op.setup(target=self.targets,
strikegroup=strikegroup,
interceptors=interceptors)

View File

@@ -25,7 +25,7 @@ class InterceptEvent(Event):
@property
def threat_description(self):
return "{} aircraft".format(self.enemy_cp.base.scramble_count())
return "{} aircraft".format(self.enemy_cp.base.scramble_count(self.game.settings.multiplier))
def is_successfull(self, debriefing: Debriefing):
units_destroyed = debriefing.destroyed_units[self.defender_name].get(self.transport_unit, 0)
@@ -55,7 +55,7 @@ class InterceptEvent(Event):
self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE)
def player_attacking(self, interceptors: db.PlaneDict, clients: db.PlaneDict):
escort = self.to_cp.base.scramble_sweep()
escort = self.to_cp.base.scramble_sweep(self.game.settings.multiplier)
self.transport_unit = random.choice(db.find_unittype(Transport, self.defender_name))
assert self.transport_unit is not None
@@ -77,7 +77,7 @@ class InterceptEvent(Event):
self.operation = op
def player_defending(self, escort: db.PlaneDict, clients: db.PlaneDict):
interceptors = self.from_cp.base.scramble_interceptors()
interceptors = self.from_cp.base.scramble_interceptors(self.game.settings.multiplier)
self.transport_unit = random.choice(db.find_unittype(Transport, self.defender_name))
assert self.transport_unit is not None

View File

@@ -30,7 +30,7 @@ class NavalInterceptEvent(Event):
def threat_description(self):
s = "{} ship(s)".format(self._targets_count())
if not self.from_cp.captured:
s += ", {} aircraft".format(self.from_cp.base.scramble_count())
s += ", {} aircraft".format(self.from_cp.base.scramble_count(self.game.settings.multiplier))
return s
def is_successfull(self, debriefing: Debriefing):
@@ -100,7 +100,7 @@ class NavalInterceptEvent(Event):
to_cp=self.to_cp
)
strikegroup = self.from_cp.base.scramble_cas()
strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier)
op.setup(strikegroup=strikegroup,
interceptors=interceptors,
targets=self.targets)