class AuraTP extends Effects; var() float TriggerDelay, RepeatDelay; var() int TazerprojsToShootAfterDeactivated; var() int TazerprojSpeed; var int TazerprojCount; function Trigger(actor Other, pawn EventInstigator) { Instigator = EventInstigator; GoToState('Active'); } state Active { function Trigger( actor Other, pawn EventInstigator); function UnTrigger(actor Other, pawn EventInstigator) { TazerprojCount = TazerprojsToShootAfterDeactivated; if (TazerprojCount<1) TazerprojCount = 1; } function Timer() { local Tazerproj a; If (TazerprojCount > 0) { If (TazerprojCount==1) { SetTimer(0.0, False); GoToState(''); } a = Spawn(class'TazerProj',, '', Location+Vector(Rotation)*20); a.Speed = TazerprojSpeed; TazerprojCount--; } else { a = Spawn(class'Tazerproj',,, Location+Vector(Rotation)*20); a.Speed = TazerprojSpeed; SetTimer(RepeatDelay, True); } } Begin: TazerprojCount = 0; SetTimer(TriggerDelay, True); } defaultproperties { TriggerDelay=0.001000 RepeatDelay=0.001000 TazerprojsToShootAfterDeactivated=1 TazerprojSpeed=1000 bNetTemporary=False bDirectional=True DrawType=DT_Sprite }