コード例 #1
0
 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)
コード例 #2
0
    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
コード例 #3
0
ファイル: module.py プロジェクト: skriptmonkey/Pyfa
    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)
コード例 #4
0
    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