def rebase(self, item): state = self.state charge = self.charge Module.__init__(self, item, self.baseItem, self.mutaplasmid) self.state = state if self.isValidCharge(charge): self.charge = charge for x in self.mutators.values(): Mutator(self, x.attribute, x.value)
def __deepcopy__(self, memo): item = self.item if item is None: copy = Module.buildEmpty(self.slot) else: copy = Module(self.item, self.baseItem, self.mutaplasmid) copy.charge = self.charge copy.state = self.state for x in self.mutators.values(): Mutator(copy, x.attribute, x.value) return copy
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)
def build(self): """ Builds internal module variables from both init's """ if self.__charge and self.__charge.category.name != "Charge": self.__charge = None self.__dps = None self.__dpsSpool = None self.__volley = None self.__volleySpool = None self.__miningyield = None self.__reloadTime = None self.__reloadForce = None self.__chargeCycles = None self.__hardpoint = Hardpoint.NONE self.__itemModifiedAttributes = ModifiedAttributeDict(parent=self) self.__chargeModifiedAttributes = ModifiedAttributeDict(parent=self) self.__slot = self.dummySlot # defaults to None if self.__item: self.__itemModifiedAttributes.original = self.__item.attributes self.__itemModifiedAttributes.overrides = self.__item.overrides self.__hardpoint = self.__calculateHardpoint(self.__item) self.__slot = self.__calculateSlot(self.__item) # Instantiate / remove mutators if this is a mutated module if self.__baseItem: for x in self.mutaplasmid.attributes: attr = self.item.attributes[x.name] id = attr.ID if id not in self.mutators: # create the mutator Mutator(self, attr, attr.value) # @todo: remove attributes that are no longer part of the mutaplasmid. self.__itemModifiedAttributes.mutators = self.mutators if self.__charge: self.__chargeModifiedAttributes.original = self.__charge.attributes self.__chargeModifiedAttributes.overrides = self.__charge.overrides