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

__init__.py (18912B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\effects\__init__.py
      2 import dogma.data as dogma_data
      3 from eve.common.script.mgt import buffBarConst
      4 import evetypes
      5 from dogma import const
      6 MODIFIER_FUNCTIONS = {'LocationRequiredSkillModifier': 'on all items located in <b>{domain}</b> requiring skill <b>{skillTypeID}</b>',
      7  'LocationGroupModifier': 'on all items located in <b>{domain}</b> in group <b>{groupID}</b>',
      8  'OwnerRequiredSkillModifier': 'on all items owned by <b>{domain}</b> that require skill <b>{skillTypeID}</b>',
      9  'ItemModifier': '<b>{domain}</b>'}
     10 MODIFIER_ATTRIBUTE_NAMES = ['domain',
     11  'func',
     12  'modifiedAttributeID',
     13  'modifyingAttributeID',
     14  'operation',
     15  'effectID',
     16  'groupID',
     17  'skillTypeID']
     18 
     19 def _GetModifierDict(modifier):
     20     ret = {}
     21     for key in MODIFIER_ATTRIBUTE_NAMES:
     22         value = getattr(modifier, key)
     23         if key in ('modifiedAttributeID', 'modifyingAttributeID'):
     24             newValue = '{} ({})'.format(dogma_data.get_attribute(value).name, value)
     25         elif key == 'domain':
     26             if value is None:
     27                 newValue = 'self'
     28             else:
     29                 newValue = value.replace('ID', '')
     30         elif key == 'skillTypeID' and value is not None:
     31             newValue = evetypes.GetName(value)
     32         elif key == 'groupID' and value is not None:
     33             newValue = evetypes.GetGroupNameByGroup(value)
     34         else:
     35             newValue = value
     36         ret[key] = newValue
     37 
     38     ret['domainInfo'] = MODIFIER_FUNCTIONS.get(modifier.func, ' UNKNOWN {func}').format(**ret)
     39     return ret
     40 
     41 
     42 def IterReadableModifierStrings(modifiers):
     43     for modifier in modifiers:
     44         if modifier.func in MODIFIER_FUNCTIONS:
     45             formatDict = _GetModifierDict(modifier)
     46             yield 'Modifies <b>{modifiedAttributeID}</b> on {domainInfo} with attribute <b>{modifyingAttributeID}</b>'.format(**formatDict)
     47         elif modifier.func == 'EffectStopper':
     48             effectID = modifier.effectID
     49             yield 'Forcibly stops effect %s' % dogma_data.get_effect_name(effectID)
     50 
     51 
     52 def IsCloakingEffect(effectID):
     53     return effectID in [const.effectCloaking, const.effectCloakingWarpSafe, const.effectCloakingPrototype]
     54 
     55 
     56 class Effect(object):
     57     __guid__ = 'dogmaXP.Effect'
     58     isPythonEffect = True
     59     __modifier_only__ = False
     60     __modifies_character__ = False
     61     __modifies_ship__ = False
     62     __modifier_domain_other__ = False
     63     MODIFIER_CHANGES = []
     64     LOCATION_AND_GROUP_MODIFIER_CHANGES = []
     65     SKILL_MODIFIER_CHANGES_FOR_LOCATION = []
     66     SKILL_MODIFIER_CHANGES_FOR_OWNER = []
     67 
     68     def RestrictedStop(self, env, dogmaLM, itemID, shipID, charID, otherID, targetID):
     69         pass
     70 
     71     def PreStartChecks(self, env, dogmaLM, itemID, shipID, charID, otherID, targetID):
     72         pass
     73 
     74     def StartChecks(self, env, dogmaLM, itemID, shipID, charID, otherID, targetID):
     75         pass
     76 
     77     def Start(self, env, dogmaLM, itemID, shipID, charID, otherID, targetID):
     78         pass
     79 
     80     def Stop(self, env, dogmaLM, itemID, shipID, charID, otherID, targetID):
     81         pass
     82 
     83     def AddModifiers(self, dogmaLM, toItemID, fromItemID):
     84         for operation, toAttribID, fromAttribID in self.MODIFIER_CHANGES:
     85             dogmaLM.AddModifier(operation, toItemID, toAttribID, fromItemID, fromAttribID)
     86 
     87     def RemoveModifiers(self, dogmaLM, toItemID, fromItemID):
     88         for operation, toAttribID, fromAttribID in self.MODIFIER_CHANGES:
     89             dogmaLM.RemoveModifier(operation, toItemID, toAttribID, fromItemID, fromAttribID)
     90 
     91     def AddLocationGroupModifiers(self, dogmaLM, toLocationID, fromItemID):
     92         for operation, groupID, toAttribID, fromAttribID in self.LOCATION_AND_GROUP_MODIFIER_CHANGES:
     93             dogmaLM.AddLocationGroupModifier(operation, toLocationID, groupID, toAttribID, fromItemID, fromAttribID)
     94 
     95     def RemoveLocationGroupModifiers(self, dogmaLM, toLocationID, fromItemID):
     96         for operation, groupID, toAttribID, fromAttribID in self.LOCATION_AND_GROUP_MODIFIER_CHANGES:
     97             dogmaLM.RemoveLocationGroupModifier(operation, toLocationID, groupID, toAttribID, fromItemID, fromAttribID)
     98 
     99     def AddLocationRequiredSkillModifiers(self, dogmaLM, toLocationID, fromItemID):
    100         for operation, skillTypeID, affectedAttributeID, affectingAttributeID in self.SKILL_MODIFIER_CHANGES_FOR_LOCATION:
    101             dogmaLM.AddLocationRequiredSkillModifier(operation, toLocationID, skillTypeID, affectedAttributeID, fromItemID, affectingAttributeID)
    102 
    103     def RemoveLocationRequiredSkillModifiers(self, dogmaLM, toLocationID, fromItemID):
    104         for operation, skillTypeID, affectedAttributeID, affectingAttributeID in self.SKILL_MODIFIER_CHANGES_FOR_LOCATION:
    105             dogmaLM.RemoveLocationRequiredSkillModifier(operation, toLocationID, skillTypeID, affectedAttributeID, fromItemID, affectingAttributeID)
    106 
    107     def AddOwnerRequiredSkillModifiers(self, dogmaLM, ownerID, fromItemID):
    108         for operation, affectedSkillTypeID, affectedAttributeID, affectingAttributeID in self.SKILL_MODIFIER_CHANGES_FOR_OWNER:
    109             dogmaLM.AddOwnerRequiredSkillModifier(operation, ownerID, affectedSkillTypeID, affectedAttributeID, fromItemID, affectingAttributeID)
    110 
    111     def RemoveOwnerRequiredSkillModifiers(self, dogmaLM, ownerID, fromItemID):
    112         for operation, affectedSkillTypeID, affectedAttributeID, affectingAttributeID in self.SKILL_MODIFIER_CHANGES_FOR_OWNER:
    113             dogmaLM.RemoveOwnerRequiredSkillModifier(operation, ownerID, affectedSkillTypeID, affectedAttributeID, fromItemID, affectingAttributeID)
    114 
    115     def RefreshEffect(self, dogmaLM, env, itemID, shipID):
    116         pass
    117 
    118 
    119 def GetName(effectID):
    120     return dogma_data.get_effect_name(effectID)
    121 
    122 
    123 def IsDefault(typeID, effectID):
    124     for typeEffect in dogma_data.get_type_effects(typeID):
    125         if effectID == typeEffect.effectID:
    126             if typeEffect.isDefault:
    127                 return True
    128             else:
    129                 return False
    130 
    131     raise KeyError()
    132 
    133 
    134 def GetEwarTypeByEffectID(effectID):
    135     effect = dogma_data.get_effect(effectID)
    136     if effect.electronicChance:
    137         return buffBarConst.Slot_Electronic
    138     if effect.propulsionChance:
    139         return buffBarConst.Slot_Webify
    140     ewarType = BUFF_SLOTS_BY_EFFECT_ID.get(effectID, None)
    141     return ewarType
    142 
    143 
    144 BUFF_SLOTS_BY_EFFECT_ID = {const.effectShipModuleFocusedWarpDisruptionScript: buffBarConst.Slot_WarpScrambler,
    145  const.effectShipModuleFocusedWarpScramblingScript: buffBarConst.Slot_WarpScramblerMWD,
    146  const.effectEwTargetPaint: buffBarConst.Slot_EwTargetPaint,
    147  const.effectTargetMaxTargetRangeAndScanResolutionBonusHostile: buffBarConst.Slot_EwRemoteSensorDamp,
    148  const.effectTargetGunneryMaxRangeAndTrackingSpeedBonusHostile: buffBarConst.Slot_EwTrackingDisrupt,
    149  const.effectTargetGunneryMaxRangeAndTrackingSpeedAndFalloffBonusHostile: buffBarConst.Slot_EwTrackingDisrupt,
    150  const.effectTurretWeaponRangeFalloffTrackingSpeedMultiplyTargetHostile: buffBarConst.Slot_EwTrackingDisrupt,
    151  const.effectEntitySensorDampen: buffBarConst.Slot_EwRemoteSensorDamp,
    152  const.effectSensorBoostTargetedHostile: buffBarConst.Slot_EwRemoteSensorDamp,
    153  const.effectNpcEntityTrackingDisruptor: buffBarConst.Slot_EwTrackingDisrupt,
    154  const.effectGuidanceDisrupt: buffBarConst.Slot_EwGuidanceDisrupt,
    155  const.effectEntityTargetPaint: buffBarConst.Slot_EwTargetPaint,
    156  const.effectWarpDisrupt: buffBarConst.Slot_WarpScrambler,
    157  const.effectDecreaseTargetSpeed: buffBarConst.Slot_Webify,
    158  const.effectWarpScrambleForEntity: buffBarConst.Slot_WarpScrambler,
    159  const.effectModifyTargetSpeed2: buffBarConst.Slot_Webify,
    160  const.effectConcordWarpScramble: buffBarConst.Slot_WarpScrambler,
    161  const.effectConcordModifyTargetSpeed: buffBarConst.Slot_Webify,
    162  const.effectWarpScrambleBlockMWDWithNPCEffect: buffBarConst.Slot_WarpScramblerMWD,
    163  const.effectWarpDisruptSphere: buffBarConst.Slot_FocusedWarpScrambler,
    164  const.effectLeech: buffBarConst.Slot_EwEnergyVampire,
    165  const.effectEnergyDestabilizationNew: buffBarConst.Slot_EwEnergyNeut,
    166  const.effectEntityCapacitorDrain: buffBarConst.Slot_EwEnergyNeut,
    167  const.effectEnergyDestabilizationForStructure: buffBarConst.Slot_EwEnergyNeut,
    168  const.effectEnergyNeutralizerFalloff: buffBarConst.Slot_EwEnergyNeut,
    169  const.effectEnergyNosferatuFalloff: buffBarConst.Slot_EwEnergyVampire,
    170  const.effectWarpScrambleForStructure: buffBarConst.Slot_WarpScrambler,
    171  const.effectDecreaseTargetSpeedForStructures: buffBarConst.Slot_Webify,
    172  const.effectEssWarpScramble: buffBarConst.Slot_WarpScrambler,
    173  const.effectWarpScrambleTargetMWDBlockActivationForEntity: buffBarConst.Slot_WarpScramblerMWD,
    174  const.effectEwTestEffectJam: buffBarConst.Slot_Electronic,
    175  const.effectEntityTargetJam: buffBarConst.Slot_Electronic,
    176  const.effectFighterAbilityECM: buffBarConst.Slot_Electronic,
    177  const.effectFighterAbilityEnergyNeutralizer: buffBarConst.Slot_EwEnergyNeut,
    178  const.effectFighterAbilityStasisWebifier: buffBarConst.Slot_Webify,
    179  const.effectFighterAbilityWarpDisruption: buffBarConst.Slot_WarpScrambler,
    180  const.effectFighterAbilityTackle: buffBarConst.Slot_FighterTackle,
    181  const.effectRemoteSensorDampFalloff: buffBarConst.Slot_EwRemoteSensorDamp,
    182  const.effectRemoteTargetPaintFalloff: buffBarConst.Slot_EwTargetPaint,
    183  const.effectShipModuleTrackingDisruptor: buffBarConst.Slot_EwTrackingDisrupt,
    184  const.effectRemoteWebifierFalloff: buffBarConst.Slot_Webify,
    185  const.effectShipModuleGuidanceDisruptor: buffBarConst.Slot_EwGuidanceDisrupt,
    186  const.effectRemoteECMFalloff: buffBarConst.Slot_Electronic,
    187  const.effectEntityECMFalloff: buffBarConst.Slot_Electronic,
    188  const.effectStructureEwEffectJam: buffBarConst.Slot_Electronic,
    189  const.effectStructureEwTargetPaint: buffBarConst.Slot_EwTargetPaint,
    190  const.effectStructureEnergyNeutralizerFalloff: buffBarConst.Slot_EwEnergyNeut,
    191  const.effectStructureWarpScrambleBlockMWDWithNPCEffect: buffBarConst.Slot_WarpScramblerMWD,
    192  const.effectStructureDecreaseTargetSpeed: buffBarConst.Slot_Webify,
    193  const.effectStructureTargetMaxTargetRangeAndScanResolutionBonusHostile: buffBarConst.Slot_EwRemoteSensorDamp,
    194  const.effectStructureTargetGunneryMaxRangeAndTrackingSpeedAndFalloffBonusHostile: buffBarConst.Slot_EwTrackingDisrupt,
    195  const.effectStructureModuleEffectStasisWebifier: buffBarConst.Slot_Webify,
    196  const.effectStructureModuleEffectTargetPainter: buffBarConst.Slot_EwTargetPaint,
    197  const.effectStructureModuleEffectRemoteSensorDampener: buffBarConst.Slot_EwRemoteSensorDamp,
    198  const.effectStructureModuleEffectECM: buffBarConst.Slot_Electronic,
    199  const.effectStructureModuleEffectWeaponDisruption: buffBarConst.Slot_EwTrackingDisrupt,
    200  const.effectEntityEnergyNeutralizerFalloff: buffBarConst.Slot_EwEnergyNeut,
    201  const.effectStarbaseEnergyNeutralizerFalloff: buffBarConst.Slot_EwEnergyNeut,
    202  const.effectRemoteSensorDampEntity: buffBarConst.Slot_EwRemoteSensorDamp,
    203  const.effectRemoteTargetPaintEntity: buffBarConst.Slot_EwTargetPaint,
    204  const.effectNpcEntityWeaponDisruptor: buffBarConst.Slot_EwTrackingDisrupt,
    205  const.effectRemoteWebifierEntity: buffBarConst.Slot_Webify,
    206  const.effectRemoteTracking: buffBarConst.Slot_RemoteTracking,
    207  const.effectEnergyTransfer: buffBarConst.Slot_EnergyTransfer,
    208  const.effectTargetMaxTargetRangeAndScanResolutionBonusAssistance: buffBarConst.Slot_SensorBooster,
    209  const.effectScanStrengthTargetPercentBonus: buffBarConst.Slot_EccmProjector,
    210  const.effectShipModuleRemoteHullRepairer: buffBarConst.Slot_RemoteHullRepair,
    211  const.effectTargetArmorRepair: buffBarConst.Slot_RemoteArmorRepair,
    212  const.effectShieldTransfer: buffBarConst.Slot_ShieldTransfer,
    213  const.effectShipModuleRemoteArmorRepairer: buffBarConst.Slot_RemoteArmorRepair,
    214  const.effectShipModuleRemoteArmorMutadaptiveRepairer: buffBarConst.Slot_RemoteArmorMutadaptiveRepairer,
    215  const.effectShipModuleAncillaryRemoteArmorRepairer: buffBarConst.Slot_RemoteArmorRepair,
    216  const.effectShipModuleRemoteCapacitorTransmitter: buffBarConst.Slot_EnergyTransfer,
    217  const.effectShipModuleRemoteShieldBooster: buffBarConst.Slot_ShieldTransfer,
    218  const.effectShipModuleAncillaryRemoteShieldBooster: buffBarConst.Slot_ShieldTransfer,
    219  const.effectRemoteSensorBoostFalloff: buffBarConst.Slot_SensorBooster,
    220  const.effectShipModuleRemoteTrackingComputer: buffBarConst.Slot_RemoteTracking,
    221  const.effectRemoteECCMFalloff: buffBarConst.Slot_EccmProjector,
    222  const.effectStructureTargetMaxTargetRangeAndScanResolutionBonusAssistance: buffBarConst.Slot_SensorBooster,
    223  const.effectStructureTargetGunneryMaxRangeFalloffTrackingSpeedBonusAssistance: buffBarConst.Slot_RemoteTracking,
    224  const.effectNpcEntityRemoteHullRepairer: buffBarConst.Slot_RemoteHullRepair,
    225  const.effectNpcEntityRemoteArmorRepairer: buffBarConst.Slot_RemoteArmorRepair,
    226  const.effectNpcEntityRemoteShieldBooster: buffBarConst.Slot_ShieldTransfer,
    227  const.effectNpcBehaviorRemoteArmorRepairer: buffBarConst.Slot_RemoteArmorRepair,
    228  const.effectNpcBehaviorRemoteCapacitorTransmitter: buffBarConst.Slot_EnergyTransfer,
    229  const.effectNpcBehaviorRemoteShieldBooster: buffBarConst.Slot_ShieldTransfer,
    230  const.effectBehaviorECM: buffBarConst.Slot_Electronic,
    231  const.effectNpcBehaviorEnergyNeutralizer: buffBarConst.Slot_EwEnergyNeut,
    232  const.effectNpcBehaviorEnergyNosferatu: buffBarConst.Slot_EwEnergyVampire,
    233  const.effectNpcBehaviorGuidanceDisruptor: buffBarConst.Slot_EwGuidanceDisrupt,
    234  const.effectBehaviorSensorDampener: buffBarConst.Slot_EwRemoteSensorDamp,
    235  const.effectBehaviorTargetPainter: buffBarConst.Slot_EwTargetPaint,
    236  const.effectNpcBehaviorTrackingDisruptor: buffBarConst.Slot_EwTrackingDisrupt,
    237  const.effectBehaviorWarpDisrupt: buffBarConst.Slot_WarpScrambler,
    238  const.effectBehaviorWarpScramble: buffBarConst.Slot_WarpScramblerMWD,
    239  const.effectNpcBehaviorWebifier: buffBarConst.Slot_Webify}
    240 LOG_EVENT_NAMES_FOR_EWAR_EFFECTS = {const.effectShipModuleFocusedWarpDisruptionScript: 'warpScrambler',
    241  const.effectShipModuleFocusedWarpScramblingScript: 'warpScramblerMWD',
    242  const.effectEwTargetPaint: 'ewTargetPaint',
    243  const.effectTargetMaxTargetRangeAndScanResolutionBonusHostile: 'ewRemoteSensorDamp',
    244  const.effectTargetGunneryMaxRangeAndTrackingSpeedBonusHostile: 'ewTrackingDisrupt',
    245  const.effectTargetGunneryMaxRangeAndTrackingSpeedAndFalloffBonusHostile: 'ewTrackingDisrupt',
    246  const.effectTurretWeaponRangeFalloffTrackingSpeedMultiplyTargetHostile: 'ewTrackingDisrupt',
    247  const.effectEntitySensorDampen: 'ewRemoteSensorDamp',
    248  const.effectSensorBoostTargetedHostile: 'ewRemoteSensorDamp',
    249  const.effectNpcEntityTrackingDisruptor: 'ewTrackingDisrupt',
    250  const.effectGuidanceDisrupt: 'ewGuidanceDisrupt',
    251  const.effectEntityTargetPaint: 'ewTargetPaint',
    252  const.effectWarpDisrupt: 'warpDisrupt',
    253  const.effectDecreaseTargetSpeed: 'webify',
    254  const.effectWarpScrambleForEntity: 'warpScrambler',
    255  const.effectModifyTargetSpeed2: 'webify',
    256  const.effectConcordWarpScramble: 'warpScrambler',
    257  const.effectConcordModifyTargetSpeed: 'webify',
    258  const.effectWarpScrambleBlockMWDWithNPCEffect: 'warpScramblerMWD',
    259  const.effectWarpDisruptSphere: 'focusedWarpScrambler',
    260  const.effectLeech: 'ewEnergyVampire',
    261  const.effectEnergyDestabilizationNew: 'ewEnergyNeut',
    262  const.effectEntityCapacitorDrain: 'ewEnergyNeut',
    263  const.effectEnergyDestabilizationForStructure: 'ewEnergyNeut',
    264  const.effectEnergyNeutralizerFalloff: 'ewEnergyNeut',
    265  const.effectEnergyNosferatuFalloff: 'ewEnergyVampire',
    266  const.effectWarpScrambleForStructure: 'warpScrambler',
    267  const.effectDecreaseTargetSpeedForStructures: 'webify',
    268  const.effectEssWarpScramble: 'warpScrambler',
    269  const.effectWarpScrambleTargetMWDBlockActivationForEntity: 'warpScramblerMWD',
    270  const.effectEwTestEffectJam: 'electronic',
    271  const.effectEntityTargetJam: 'electronic',
    272  const.effectFighterAbilityECM: 'electronic',
    273  const.effectFighterAbilityEnergyNeutralizer: 'ewEnergyNeut',
    274  const.effectFighterAbilityStasisWebifier: 'webify',
    275  const.effectFighterAbilityWarpDisruption: 'warpScrambler',
    276  const.effectFighterAbilityTackle: 'fighterTackle',
    277  const.effectRemoteSensorDampFalloff: 'ewRemoteSensorDamp',
    278  const.effectRemoteTargetPaintFalloff: 'ewTargetPaint',
    279  const.effectShipModuleTrackingDisruptor: 'ewTrackingDisrupt',
    280  const.effectRemoteWebifierFalloff: 'webify',
    281  const.effectShipModuleGuidanceDisruptor: 'ewGuidanceDisrupt',
    282  const.effectRemoteECMFalloff: 'electronic',
    283  const.effectEntityECMFalloff: 'electronic',
    284  const.effectStructureEwEffectJam: 'electronic',
    285  const.effectStructureEwTargetPaint: 'ewTargetPaint',
    286  const.effectStructureEnergyNeutralizerFalloff: 'ewEnergyNeut',
    287  const.effectStructureWarpScrambleBlockMWDWithNPCEffect: 'warpScramblerMWD',
    288  const.effectStructureDecreaseTargetSpeed: 'webify',
    289  const.effectStructureTargetMaxTargetRangeAndScanResolutionBonusHostile: 'ewRemoteSensorDamp',
    290  const.effectStructureTargetGunneryMaxRangeAndTrackingSpeedAndFalloffBonusHostile: 'ewTrackingDisrupt',
    291  const.effectDoomsdayAOEECM: 'electronic',
    292  const.effectDoomsdayAOEPaint: 'ewTargetPaint',
    293  const.effectDoomsdayAOENeut: 'ewEnergyNeut',
    294  const.effectDoomsdayAOEWeb: 'webify',
    295  const.effectDoomsdayAOETrack: 'ewTrackingDisrupt',
    296  const.effectDoomsdayAOEDamp: 'ewRemoteSensorDamp',
    297  const.effectStructureModuleEffectStasisWebifier: 'webify',
    298  const.effectStructureModuleEffectTargetPainter: 'ewTargetPaint',
    299  const.effectStructureModuleEffectRemoteSensorDampener: 'ewRemoteSensorDamp',
    300  const.effectStructureModuleEffectECM: 'electronic',
    301  const.effectStructureModuleEffectWeaponDisruption: 'ewTrackingDisrupt',
    302  const.effectEntityEnergyNeutralizerFalloff: 'ewEnergyNeut',
    303  const.effectStarbaseEnergyNeutralizerFalloff: 'ewEnergyNeut',
    304  const.effectRemoteSensorDampEntity: 'ewRemoteSensorDamp',
    305  const.effectRemoteTargetPaintEntity: 'ewTargetPaint',
    306  const.effectNpcEntityWeaponDisruptor: 'ewTrackingDisrupt',
    307  const.effectRemoteWebifierEntity: 'webify',
    308  const.effectBehaviorECM: 'electronic',
    309  const.effectNpcBehaviorEnergyNeutralizer: 'ewEnergyNeut',
    310  const.effectNpcBehaviorEnergyNosferatu: 'ewEnergyVampire',
    311  const.effectNpcBehaviorGuidanceDisruptor: 'ewGuidanceDisrupt',
    312  const.effectBehaviorSensorDampener: 'ewRemoteSensorDamp',
    313  const.effectBehaviorTargetPainter: 'ewTargetPaint',
    314  const.effectNpcBehaviorTrackingDisruptor: 'ewTrackingDisrupt',
    315  const.effectBehaviorWarpDisrupt: 'warpScrambler',
    316  const.effectBehaviorWarpScramble: 'warpScramblerMWD',
    317  const.effectNpcBehaviorWebifier: 'webify'}
    318 SKILL_ACCELERATOR_EFFECT_IDS = {const.effectAnalyticalMindIntelligenceBonusModAddIntelligenceLocationChar,
    319  const.effectEmpathyCharismaBonusModAddCharismaLocationChar,
    320  const.effectInstantRecallMemoryBonusModAddMemoryLocationChar,
    321  const.effectIronWillWillpowerBonusModAddWillpowerLocationChar,
    322  const.effectSpatialAwarenessPerceptionBonusModAddPerceptionLocationChar}
    323 
    324 def IsBoosterSkillAccelerator(dogmaStaticMgr, boosterRecord):
    325     boosterEffectIds = dogmaStaticMgr.GetPassiveFilteredEffectsByType(boosterRecord.boosterTypeID)
    326     for effect_id in SKILL_ACCELERATOR_EFFECT_IDS:
    327         if effect_id in boosterEffectIds:
    328             return True
    329 
    330     return False