fighterDogmaItem.py (2296B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\items\fighterDogmaItem.py 2 from dogma.items.baseDogmaItem import BaseDogmaItem 3 from eve.common.script.sys.idCheckers import IsSolarSystem 4 5 class FighterDogmaItem(BaseDogmaItem): 6 7 def GetShipItem(self): 8 return self.dogmaLocation.GetShipItemForFighter(self.itemID) 9 10 def IsOwnerModifiable(self, locationID = None): 11 if not locationID: 12 locationID = self.locationID 13 if not self.dogmaLocation.IsFighterOwnerModifiablesAtLocation(locationID): 14 return False 15 if not self.ownerID: 16 return False 17 pilotShip = self.GetShipItem() 18 if not pilotShip: 19 return False 20 return True 21 22 def GetLocation(self): 23 return None 24 25 def AddFighterControllerOwnerModifiers(self): 26 for toAttrib, modSet in self._IterOwnerReqSkillModifiers(): 27 self._ApplyModsToAttrib(modSet, toAttrib, callOnAttributeChanged=True, debugContext='AddFighterControllerOwnerModifiers') 28 29 def RemoveFighterControllerOwnerModifiers(self): 30 for toAttrib, modSet in self._IterOwnerReqSkillModifiers(): 31 for operation, fromAttrib in modSet: 32 fromAttrib.RemoveOutgoingModifier(operation, toAttrib) 33 toAttrib.RemoveIncomingModifier(operation, fromAttrib) 34 35 def _IterOwnerReqSkillModifiers(self): 36 owner = self.dogmaLocation.dogmaItems.get(self.ownerID, None) 37 if not owner: 38 self.dogmaLocation.broker.LogWarn('_IterOwnerReqSkills could not find its owner?', self.itemID, self.ownerID) 39 return 40 for skillID in self.reqSkills: 41 ownerMods = owner.ownerReqSkillMods.get(skillID, {}) 42 for attribID, modSet in ownerMods.iteritems(): 43 if attribID in self.attributes: 44 toAttrib = self.attributes[attribID] 45 yield (toAttrib, modSet) 46 47 def GetCharacterID(self): 48 return self.GetPilot() 49 50 def UnsetLocation(self, locationDogmaItem): 51 self.flagID = None 52 53 54 class GhostFighterDogmaItem(FighterDogmaItem): 55 56 @apply 57 def squadronSize(): 58 59 def fget(self): 60 return getattr(self, 'stacksize', 0) 61 62 return property(**locals())