88 lines
2.1 KiB
Plaintext
88 lines
2.1 KiB
Plaintext
scriptName magicEffectShaderApply extends ActiveMagicEffect
|
|
{Scripted magic effect Adding and Removing Effect Shaders}
|
|
|
|
;import game
|
|
;import debug
|
|
import utility
|
|
;import sound
|
|
|
|
;======================================================================================;
|
|
; PROPERTIES /
|
|
;=============/
|
|
|
|
EffectShader property EffectShaderFX auto
|
|
{main Effect Shader for spell}
|
|
EffectShader property EffectShaderFX02 auto
|
|
{2nd Effect Shader for spell}
|
|
EffectShader property EffectShaderFX03 auto
|
|
{3rd Effect Shader for spell}
|
|
|
|
Float Property fDuration = 0.1 auto
|
|
{How Long does it run, if used?}
|
|
Float Property fDelay = 0.0 auto
|
|
{Delay the effect add for this amount of time.}
|
|
;======================================================================================;
|
|
; VARIABLES /
|
|
;=============/
|
|
|
|
bool Property bRemove = FALSE auto
|
|
{Do we Remove the Effect Manually?}
|
|
bool Property bUseDuration = FALSE auto
|
|
{Do we Use the duration?}
|
|
|
|
;======================================================================================;
|
|
; EVENTS /
|
|
;=============/
|
|
|
|
Event OnEffectStart(Actor Target, Actor Caster)
|
|
if EffectShaderFX
|
|
EffectShaderFX.Stop(Target)
|
|
endif
|
|
if EffectShaderFX02
|
|
EffectShaderFX02.Stop(Target)
|
|
endif
|
|
if EffectShaderFX03
|
|
EffectShaderFX03.Stop(Target) ;Kill EffectShaderFX from another cast, if running.
|
|
endif
|
|
|
|
wait(fDelay)
|
|
|
|
if bUseDuration
|
|
if EffectShaderFX
|
|
EffectShaderFX.Play(Target,fDuration)
|
|
endif
|
|
if EffectShaderFX02
|
|
EffectShaderFX02.Play(Target,fDuration)
|
|
endif
|
|
if EffectShaderFX03
|
|
EffectShaderFX03.Play(Target,fDuration)
|
|
endif
|
|
else
|
|
if EffectShaderFX
|
|
EffectShaderFX.Play(Target,-1.0)
|
|
endif
|
|
if EffectShaderFX02
|
|
EffectShaderFX02.Play(Target,-1.0)
|
|
endif
|
|
if EffectShaderFX03
|
|
EffectShaderFX03.Play(Target,-1.0)
|
|
endif
|
|
endif
|
|
|
|
EndEvent
|
|
|
|
Event OnEffectFinish(Actor Target, Actor Caster)
|
|
|
|
if bRemove
|
|
if EffectShaderFX
|
|
EffectShaderFX.Stop(Target)
|
|
endif
|
|
if EffectShaderFX02
|
|
EffectShaderFX02.Stop(Target)
|
|
endif
|
|
if EffectShaderFX03
|
|
EffectShaderFX03.Stop(Target) ;Kill EffectShaderFX from another cast, if running.
|
|
endif
|
|
endif
|
|
|
|
endEvent |