def build(self): """ Build object. Assumes proper and valid item already set """ self.__charge = None self.__dps = None self.__volley = None self.__miningyield = None self.__itemModifiedAttributes = ModifiedAttributeDict() self.__chargeModifiedAttributes = ModifiedAttributeDict() if len(self.abilities) != len(self.item.effects): self.__abilities = [] for ability in self.__getAbilities(): self.__abilities.append(ability) if self.__item: self.__itemModifiedAttributes.original = self.__item.attributes self.__itemModifiedAttributes.overrides = self.__item.overrides self.__slot = self.__calculateSlot(self.__item) chargeID = self.getModifiedItemAttr("fighterAbilityLaunchBombType") if chargeID: charge = eos.db.getItem(int(chargeID)) self.__charge = charge self.__chargeModifiedAttributes.original = charge.attributes self.__chargeModifiedAttributes.overrides = charge.overrides
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.__miningyield = None self.__volley = 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) if self.__charge: self.__chargeModifiedAttributes.original = self.__charge.attributes self.__chargeModifiedAttributes.overrides = self.__charge.overrides
def buildRack(cls, slot): empty = Rack(None) empty.__slot = slot empty.__hardpoint = Hardpoint.NONE empty.__item = 0 empty.__charge = 0 empty.dummySlot = slot empty.__itemModifiedAttributes = ModifiedAttributeDict() empty.__chargeModifiedAttributes = ModifiedAttributeDict() return empty
def build(self): """ Build object. Assumes proper and valid item already set """ self.__charge = None self.__dps = None self.__volley = None self.__miningyield = None self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__chargeModifiedAttributes = ModifiedAttributeDict() chargeID = self.getModifiedItemAttr("entityMissileTypeID") if chargeID is not None: charge = eos.db.getItem(int(chargeID)) self.__charge = charge self.__chargeModifiedAttributes.original = charge.attributes
def __init__(self, item): """Initialize cargo from the program""" self.__item = item self.itemID = item.ID if item is not None else None self.amount = 0 self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = item.attributes
def build(self): self.__extraDrains = [] self.__ehp = None self.__weaponDPS = None self.__minerYield = None self.__weaponVolley = None self.__droneDPS = None self.__droneVolley = None self.__droneYield = None self.__sustainableTank = None self.__effectiveSustainableTank = None self.__effectiveTank = None self.__calculated = False self.__capStable = None self.__capState = None self.__capUsed = None self.__capRecharge = None self.__calculatedTargets = [] self.factorReload = False self.fleet = None self.boostsFits = set() self.gangBoosts = None self.ecmProjectedStr = 1 self.extraAttributes = ModifiedAttributeDict(self) self.extraAttributes.original = self.EXTRA_ATTRIBUTES
def __init__(self, item): self.__item = item self.itemID = item.ID self.active = True self.amount = 0 self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.item.attributes
def build(self): from eos import db self.__extraDrains = [] self.__ehp = None self.__weaponDPS = None self.__minerYield = None self.__weaponVolley = None self.__droneDPS = None self.__droneVolley = None self.__droneYield = None self.__sustainableTank = None self.__effectiveSustainableTank = None self.__effectiveTank = None self.__calculated = False self.__capStable = None self.__capState = None self.__capUsed = None self.__capRecharge = None self.__calculatedTargets = [] self.factorReload = False self.fleet = None self.boostsFits = set() self.gangBoosts = None self.ecmProjectedStr = 1 self.extraAttributes = ModifiedAttributeDict(self) self.extraAttributes.original = self.EXTRA_ATTRIBUTES self.ship = Ship(db.getItem( self.shipID)) if self.shipID is not None else None if self.ship is not None: self.mode = self.ship.checkModeItem( db.getItem(self.modeID) if self.modeID else None) else: self.mode = None
def __init__(self, item): self.__slot = self.__calculateSlot(item) self.__item = item self.itemID = item.ID self.active = True self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.item.attributes
def __fetchItemInfo(self): import eos.db item = eos.db.getItem(self.itemID) self.__item = item self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = item.attributes self.__hardpoint = self.__calculateHardpoint(item) self.__slot = self.__calculateSlot(item)
def __fetchChargeInfo(self): self.__chargeModifiedAttributes = ModifiedAttributeDict() if self.chargeID is not None: import eos.db charge = eos.db.getItem(self.chargeID) self.__charge = charge self.__chargeModifiedAttributes.original = charge.attributes else: self.__charge = 0
def build(self): """ Build object. Assumes proper and valid item already set """ self.__charge = None self.__dps = None self.__volley = None self.__miningyield = None self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__itemModifiedAttributes.overrides = self.__item.overrides self.__chargeModifiedAttributes = ModifiedAttributeDict() # pheonix todo: check the attribute itself, not the modified. this will always return 0 now. chargeID = self.getModifiedItemAttr("entityMissileTypeID", None) if chargeID is not None: charge = eos.db.getItem(int(chargeID)) self.__charge = charge self.__chargeModifiedAttributes.original = charge.attributes self.__chargeModifiedAttributes.overrides = charge.overrides
def build(self): """ Build object. Assumes proper and valid item already set """ self.__sideEffects = [] self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__itemModifiedAttributes.overrides = self.__item.overrides self.__slot = self.__calculateSlot(self.__item) # Legacy booster side effect code, disabling as not currently implemented '''
def __init__(self, item, owner=None): if item.group.name != "Ship Modifiers": raise ValueError( 'Passed item "%s" (category: (%s)) is not a Ship Modifier' % (item.name, item.category.name)) self.owner = owner self.__item = item self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.item.attributes self.__itemModifiedAttributes.overrides = self.item.overrides
def build(self): self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__sideEffects = [] for effect in self.item.effects.itervalues(): if effect.isType("boosterSideEffect"): s = SideEffect(self) s.effect = effect s.active = effect.ID in self.__activeSideEffectIDs self.__sideEffects.append(s)
def __init__(self, item): if item.category.name != "Ship": raise ValueError('Passed item "%s" (category: (%s)) is not under Ship category'%(item.name, item.category.name)) self.__item = item self.__modeItems = self.__getModeItems() self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.item.attributes self.commandBonus = 0
def build(self): """ Build object. Assumes proper and valid item already set """ self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__itemModifiedAttributes.overrides = self.__item.overrides self.__slot = self.__calculateSlot(self.__item) if len(self.sideEffects) != len(self.__getSideEffects()): self.__sideEffects = [] for ability in self.__getSideEffects(): self.__sideEffects.append(ability)
def __init__(self, item): self.__item = item if item != None else 0 self.itemID = item.ID if item is not None else None self.__charge = 0 self.projected = False self.state = State.ONLINE self.__dps = None self.__volley = None self.__reloadTime = None self.__reloadForce = None self.__chargeCycles = None self.__itemModifiedAttributes = ModifiedAttributeDict() self.__slot = None if item != None: self.__itemModifiedAttributes.original = item.attributes self.__hardpoint = self.__calculateHardpoint(item) self.__slot = self.__calculateSlot(item) self.__chargeModifiedAttributes = ModifiedAttributeDict()
def __fetchChargeInfo(self): chargeID = self.getModifiedItemAttr("entityMissileTypeID") self.__chargeModifiedAttributes = ModifiedAttributeDict() if chargeID is not None: import eos.db charge = eos.db.getItem(int(chargeID)) self.__charge = charge self.chargeModifiedAttributes.original = charge.attributes else: self.__charge = 0
def init(self): """Initialize cargo from the database and validate""" self.__item = None if self.itemID: self.__item = eos.db.getItem(self.itemID) if self.__item is None: logger.error("Item (id: %d) does not exist", self.itemID) return self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes
def init(self): if self.dummySlot is None: self.__item = None self.__charge = None self.__volley = None self.__dps = None self.__reloadTime = None self.__reloadForce = None self.__chargeCycles = None else: self.__slot = self.dummySlot self.__item = 0 self.__charge = 0 self.__dps = 0 self.__volley = 0 self.__reloadTime = 0 self.__reloadForce = None self.__chargeCycles = 0 self.__hardpoint = Hardpoint.NONE self.__itemModifiedAttributes = ModifiedAttributeDict() self.__chargeModifiedAttributes = ModifiedAttributeDict()
def build(self): """ Build object. Assumes proper and valid item already set """ self.__charge = None self.__baseVolley = None self.__baseRRAmount = None self.__miningYield = None self.__miningWaste = None self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self._item.attributes self.__itemModifiedAttributes.overrides = self._item.overrides self.__chargeModifiedAttributes = ModifiedAttributeDict() self._mutaLoadMutators(mutatorClass=MutatorDrone) self.__itemModifiedAttributes.mutators = self.mutators chargeID = self.getModifiedItemAttr("entityMissileTypeID", None) if chargeID: charge = eos.db.getItem(int(chargeID)) self.__charge = charge self.__chargeModifiedAttributes.original = charge.attributes self.__chargeModifiedAttributes.overrides = charge.overrides
def __init__(self, item): if item.category.name != "Ship": raise ValueError( 'Passed item "%s" (category: (%s)) is not under Ship category' % (item.name, item.category.name)) self.__item = item self.__itemModifiedAttributes = ModifiedAttributeDict() if not isinstance(item, int): self.__buildOriginal() self.commandBonus = 0
def __init__(self, item): if item.category.name != "Drone": raise ValueError("Passed item is not a drone") self.__item = item self.__charge = None self.itemID = item.ID self.amount = 0 self.amountActive = 0 self.__dps = None self.projected = False self.__itemModifiedAttributes = ModifiedAttributeDict() self.itemModifiedAttributes.original = self.item.attributes
def build(self): """ Build object. Assumes proper and valid item already set """ self.__sideEffects = [] self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes self.__slot = self.__calculateSlot(self.__item) for effect in self.__item.effects.itervalues(): if effect.isType("boosterSideEffect"): s = SideEffect(self) s.effect = effect s.active = effect.ID in self.__activeSideEffectIDs self.__sideEffects.append(s)
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
def __init__(self, item, owner=None): self.validate(item) self.__item = item self.__modeItems = self.__getModeItems() self.__itemModifiedAttributes = ModifiedAttributeDict(parent=self) self.__itemModifiedAttributes.original = dict(self.item.attributes) self.__itemModifiedAttributes.original.update(self.EXTRA_ATTRIBUTES) self.__itemModifiedAttributes.overrides = self.item.overrides if "maximumRangeCap" in self.__itemModifiedAttributes.original: cappingAttrKeyCache["maxTargetRange"] = "maximumRangeCap" self.owner = owner self.commandBonus = 0
def __init__(self, item, parent=None): self.validate(item) self.__item = item self.__modeItems = self.__getModeItems() self.__itemModifiedAttributes = ModifiedAttributeDict(parent=self) self.__itemModifiedAttributes.original = dict(self.item.attributes) self.__itemModifiedAttributes.original.update(self.EXTRA_ATTRIBUTES) self.__itemModifiedAttributes.overrides = self.item.overrides if "maximumRangeCap" in self.__itemModifiedAttributes.original: cappingAttrKeyCache["maxTargetRange"] = "maximumRangeCap" # there are occasions when we need to get to the parent fit of the ship, such as when we need the character # skills for ship-role gang boosts (Titans) self.parent = parent self.commandBonus = 0
def __init__(self, item, parent=None): if item.category.name != "Ship": raise ValueError( 'Passed item "%s" (category: (%s)) is not under Ship category' % (item.name, item.category.name)) self.__item = item self.__modeItems = self.__getModeItems() self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = dict(self.item.attributes) self.__itemModifiedAttributes.original.update(self.EXTRA_ATTRIBUTES) self.__itemModifiedAttributes.overrides = self.item.overrides # there are occasions when we need to get to the parent fit of the ship, such as when we need the character # skills for ship-role gang boosts (Titans) self.parent = parent self.commandBonus = 0
def __fetchItemInfo(self): import eos.db self.__item = eos.db.getItem(self.itemID) self.__itemModifiedAttributes = ModifiedAttributeDict() self.__itemModifiedAttributes.original = self.__item.attributes