59 lines
1.5 KiB
Plaintext
59 lines
1.5 KiB
Plaintext
Scriptname SprigganSwarmActorSCRIPT extends ActiveMagicEffect conditional
|
|
{Attaches and manages witchlights's fx}
|
|
;======================================================================================;
|
|
; IMPORTS /
|
|
;=============/
|
|
import utility
|
|
import form
|
|
import game
|
|
;======================================================================================;
|
|
; PROPERTIES /
|
|
;=============/
|
|
VisualEffect Property SprigganSwarmFXAttachEffect Auto
|
|
objectReference property mySprigganSwarm auto conditional hidden
|
|
actorBase property SprigganSwarmBase auto
|
|
|
|
;======================================================================================;
|
|
; VARIABLES /
|
|
;=============/
|
|
ObjectReference selfRef
|
|
|
|
;======================================================================================;
|
|
; EVENTS /
|
|
;=============/
|
|
|
|
EVENT OnEffectStart(Actor Target, Actor Caster)
|
|
|
|
|
|
selfRef = caster
|
|
|
|
;Added by USKP to prevent this effect from appearing on the player.
|
|
If selfRef == Game.GetPlayer()
|
|
Dispel()
|
|
return
|
|
EndIf
|
|
|
|
selfRef.RegisterForSingleUpdate(0.25)
|
|
int i = 10 ; recursion limiter for 3dLoaded check
|
|
while selfRef.is3dLoaded() == FALSE
|
|
; wait for onLoad() to complete
|
|
; too costly ???
|
|
if i >= 10
|
|
; debug.trace("Recursion of limit ("+i+") hit by: "+self)
|
|
return
|
|
else
|
|
i+=1
|
|
; debug.trace("While() recursion ("+i+")")
|
|
endif
|
|
endWhile
|
|
; only attack FX once the3D is loaded
|
|
SprigganSwarmFXAttachEffect.Play(selfRef, -1)
|
|
|
|
ENDEVENT
|
|
|
|
|
|
EVENT onDeath(actor myKiller)
|
|
|
|
SprigganSwarmFXAttachEffect.Stop(selfRef)
|
|
|
|
ENDEVENT |