triglavianBeam.py (1832B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\environment\effects\triglavianBeam.py 2 from eve.client.script.environment.effects.GenericEffect import STOP_REASON_DEFAULT 3 from eve.client.script.environment.effects.turrets import StandardWeapon 4 5 class TriglavianBeam(StandardWeapon): 6 7 def __init__(self, trigger, *args): 8 StandardWeapon.__init__(self, trigger, *args) 9 self.graphicInfo = trigger.graphicInfo 10 self._laserIntensity = None 11 self._startIntensity = 0.3 12 self.damageMultiplierBonusCurrent = 0 13 self.damageMultiplierBonusPerCycle = self.graphicInfo['mulitplierBonusPerCycle'] 14 self.damageMultiplierBonusMax = self.graphicInfo['multiplierBonusMax'] 15 16 def Start(self, duration): 17 super(TriglavianBeam, self).Start(duration) 18 self.laserIntensity = self._startIntensity 19 20 def Repeat(self, duration): 21 self.damageMultiplierBonusCurrent += self.damageMultiplierBonusPerCycle 22 if self.damageMultiplierBonusCurrent > self.damageMultiplierBonusMax: 23 self.damageMultiplierBonusCurrent = self.damageMultiplierBonusMax 24 self.laserIntensity = self._startIntensity + self.damageMultiplierBonusCurrent / self.damageMultiplierBonusMax 25 StandardWeapon.Repeat(self, duration) 26 27 @property 28 def laserIntensity(self): 29 return self._laserIntensity 30 31 @laserIntensity.setter 32 def laserIntensity(self, value): 33 if value != self._laserIntensity: 34 self._laserIntensity = value 35 for turret in self.turrets: 36 turret.SetIntensity(self._laserIntensity) 37 38 def Stop(self, reason = STOP_REASON_DEFAULT): 39 super(TriglavianBeam, self).Stop(reason) 40 self.laserIntensity = None 41 self.damageMultiplierBonusCurrent = 0