diff --git a/eos/saveddata/drone.py b/eos/saveddata/drone.py index 7b76a3678..1703b48e2 100644 --- a/eos/saveddata/drone.py +++ b/eos/saveddata/drone.py @@ -340,14 +340,18 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): copy = Drone(self.item) copy.amount = self.amount copy.amountActive = self.amountActive + copy.projectionRange = self.projectionRange return copy def rebase(self, item): amount = self.amount amountActive = self.amountActive + projectionRange = self.projectionRange + Drone.__init__(self, item) self.amount = amount self.amountActive = amountActive + self.projectionRange = projectionRange def fits(self, fit): fitDroneGroupLimits = set() diff --git a/eos/saveddata/fighter.py b/eos/saveddata/fighter.py index 5b177c451..6e15eb66b 100644 --- a/eos/saveddata/fighter.py +++ b/eos/saveddata/fighter.py @@ -418,18 +418,22 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): for ability in self.abilities: copyAbility = next(filter(lambda a: a.effectID == ability.effectID, copy.abilities)) copyAbility.active = ability.active + copy.projectionRange = self.projectionRange return copy def rebase(self, item): amount = self._amount active = self.active abilityEffectStates = {a.effectID: a.active for a in self.abilities} + projectionRange = self.projectionRange + Fighter.__init__(self, item) self._amount = amount self.active = active for ability in self.abilities: if ability.effectID in abilityEffectStates: ability.active = abilityEffectStates[ability.effectID] + self.projectionRange = projectionRange def fits(self, fit): # If ships doesn't support this type of fighter, don't add it diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py index 7cce0ccfb..b37c91199 100644 --- a/eos/saveddata/module.py +++ b/eos/saveddata/module.py @@ -1023,6 +1023,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): copy.state = self.state copy.spoolType = self.spoolType copy.spoolAmount = self.spoolAmount + copy.projectionRange = self.projectionRange for x in self.mutators.values(): Mutator(copy, x.attribute, x.value) @@ -1032,10 +1033,17 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): def rebase(self, item): state = self.state charge = self.charge + spoolType = self.spoolType + spoolAmount = self.spoolAmount + projectionRange = self.projectionRange + Module.__init__(self, item, self.baseItem, self.mutaplasmid) self.state = state if self.isValidCharge(charge): self.charge = charge + self.spoolType = spoolType + self.spoolAmount = spoolAmount + self.projectionRange = projectionRange for x in self.mutators.values(): Mutator(self, x.attribute, x.value)