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

baseBurstEffect.py (2668B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dbuff\common\baseBurstEffect.py
      2 import dogma.const as dogmaConst
      3 
      4 def GetModuleBuffValues(dogmaLM, moduleID):
      5     buffValues = {}
      6     for buffIDAttribute, buffValueAttribute in dogmaConst.dbuffAttributeValueMappings.iteritems():
      7         dbuffCollectionID = int(dogmaLM.GetAttributeValue(moduleID, buffIDAttribute))
      8         if dbuffCollectionID > 0:
      9             buffValues[dbuffCollectionID] = dogmaLM.GetAttributeValue(moduleID, buffValueAttribute)
     10 
     11     return buffValues
     12 
     13 
     14 def GetBuffValuesAndDurationMillis(dogmaLM, itemID):
     15     effectDurationMillis = dogmaLM.GetAttributeValue(itemID, dogmaConst.attributeBuffDuration)
     16     buffValues = GetModuleBuffValues(dogmaLM, itemID)
     17     return (buffValues, effectDurationMillis)
     18 
     19 
     20 def ApplyBuffToSourceShip(dogmaLM, charID, shipID, buffDuration, buffValues):
     21     dbuffRegistry = dogmaLM.dbuffRegistry
     22     dbuffRegistry.ApplyBuffsToItems([shipID], buffDuration, buffValues, charID)
     23 
     24 
     25 class BurstEffectDecorator(object):
     26 
     27     def __init__(self, arg):
     28         self.variableDict = arg
     29 
     30     def __call__(self, cls):
     31 
     32         class Wrapped(cls):
     33             for key, value in self.variableDict.iteritems():
     34                 setattr(cls, key, value)
     35 
     36         return Wrapped
     37 
     38 
     39 def GetArmorEffectClassVariables():
     40     return {'__guid__': 'dogmaXP.CommandBurstArmorEffect',
     41      '__effectIDs__': ['effectModuleBonusWarfareLinkArmor'],
     42      'sourceVFXEffect': 'effects.WarfareLinkSphereArmor',
     43      'targetVFXEffect': 'effects.WarfareLinkArmor'}
     44 
     45 
     46 def GetInfoEffectClassVariables():
     47     return {'__guid__': 'dogmaXP.CommandBurstInfoEffect',
     48      '__effectIDs__': ['effectModuleBonusWarfareLinkInfo'],
     49      'sourceVFXEffect': 'effects.WarfareLinkSphereInformation',
     50      'targetVFXEffect': 'effects.WarfareLinkInformation'}
     51 
     52 
     53 def GetMiningEffectClassVariables():
     54     return {'__guid__': 'dogmaXP.CommandBurstMiningEffect',
     55      '__effectIDs__': ['effectModuleBonusWarfareLinkMining'],
     56      'sourceVFXEffect': 'effects.WarfareLinkSphereMining',
     57      'targetVFXEffect': 'effects.WarfareLinkMining'}
     58 
     59 
     60 def GetShieldEffectClassVariables():
     61     return {'__guid__': 'dogmaXP.CommandBurstShieldEffect',
     62      '__effectIDs__': ['effectModuleBonusWarfareLinkShield'],
     63      'sourceVFXEffect': 'effects.WarfareLinkSphereShield',
     64      'targetVFXEffect': 'effects.WarfareLinkShield'}
     65 
     66 
     67 def GetSkirmishEffectClassVariables():
     68     return {'__guid__': 'dogmaXP.CommandBurstSkirmishEffect',
     69      '__effectIDs__': ['effectModuleBonusWarfareLinkSkirmish'],
     70      'sourceVFXEffect': 'effects.WarfareLinkSphereSkirmish',
     71      'targetVFXEffect': 'effects.WarfareLinkSkirmish'}