modifiereffect.py (1212B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\effects\modifiereffect.py 2 from dogma.effects import Effect 3 import dogma.const as dgmconst 4 5 def IsPassiveEffect(effectInfo): 6 return effectInfo.effectCategory in dgmconst.dgmPassiveEffectCategories 7 8 9 class ModifierEffect(Effect): 10 __modifier_only__ = True 11 12 def __init__(self, effectInfo, modifiers, side_effects = None): 13 self.isPythonEffect = False 14 self.__modifies_ship__ = IsPassiveEffect(effectInfo) and any((m.IsShipModifier() for m in modifiers)) 15 self.__modifies_structure__ = IsPassiveEffect(effectInfo) and any((m.IsStructureModifier() for m in modifiers)) 16 self.__modifies_character__ = IsPassiveEffect(effectInfo) and any((m.IsCharModifier() for m in modifiers)) 17 self.__modifier_domain_other__ = IsPassiveEffect(effectInfo) and any((m.IsOtherModifier() for m in modifiers)) 18 self.effects = modifiers 19 if side_effects: 20 self.effects.extend(side_effects) 21 22 def Start(self, *args): 23 map(lambda e: e.Start(*args), self.effects) 24 25 def Stop(self, *args): 26 map(lambda e: e.Stop(*args), self.effects) 27 28 RestrictedStop = Stop