NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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())