87 lines
2.6 KiB
Plaintext
87 lines
2.6 KiB
Plaintext
|
Scriptname _00E_Smoking_AbSmokingSC extends activemagiceffect
|
||
|
|
||
|
Import Utility
|
||
|
Import Debug
|
||
|
|
||
|
;=====================================================================================
|
||
|
; EVENTS
|
||
|
;=====================================================================================
|
||
|
|
||
|
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
||
|
|
||
|
akSelfActor = akTarget as Actor
|
||
|
|
||
|
If (akSelfActor.HasSpell(_00E_Smoking_abSmoking))
|
||
|
; _00E_QuestFunctions.PrintDebugMessage("Start smoking.")
|
||
|
EndIf
|
||
|
|
||
|
StartSmokingAnimation()
|
||
|
|
||
|
while !(akSelfActor.IsInCombat()) && (akSelfActor.HasSpell(_00E_Smoking_abSmoking))
|
||
|
|
||
|
; _00E_QuestFunctions.PrintDebugMessage("Loop smoking.")
|
||
|
SmokingLoop()
|
||
|
|
||
|
endwhile
|
||
|
|
||
|
Self.Dispel()
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
||
|
|
||
|
StopSmokingAnimation()
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
;=====================================================================================
|
||
|
; FUNCTIONS
|
||
|
;=====================================================================================
|
||
|
|
||
|
Function StartSmokingAnimation()
|
||
|
|
||
|
akSelfActor.setdontmove(true)
|
||
|
SendAnimationEvent(akSelfActor, "WallPipeSmokingEnter")
|
||
|
Wait(2.00000)
|
||
|
_00E_Smoking_PipeSmokingFlameEffect.Play(akSelfActor, -1 as Float, none)
|
||
|
Wait(2.00000)
|
||
|
SendAnimationEvent(akSelfActor, "WallPipeSmokingBlaze")
|
||
|
_00E_Smoking_PipeSmokingSmokeExhaleEffect.Play(akSelfActor, -1 as Float, none)
|
||
|
_00E_Smoking_PipeSmokingFlameEffect.Stop(akSelfActor)
|
||
|
Wait(0.40000)
|
||
|
_00E_Smoking_PipeSmokingSmokeExhaleEffect.Stop(akSelfActor)
|
||
|
Wait(0.40000)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
Function SmokingLoop()
|
||
|
|
||
|
SendAnimationEvent(akSelfActor, "WallPipeSmokingSmokeLoop")
|
||
|
Wait(6.00000)
|
||
|
_00E_Smoking_PipeSmokingSmokeExhaleEffect.Play(akSelfActor, -1 as Float, none)
|
||
|
Wait(2.5)
|
||
|
_00E_Smoking_PipeSmokingSmokeExhaleEffect.Stop(akSelfActor)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
Function StopSmokingAnimation()
|
||
|
|
||
|
_00E_Smoking_PipeSmokingSmokeExhaleEffect.Stop(akSelfActor)
|
||
|
SendAnimationEvent(akSelfActor, "WallPipeSmokingExit")
|
||
|
Wait(1.17000)
|
||
|
SendAnimationEvent(akSelfActor, "WallPipeSmokingEnd")
|
||
|
akSelfActor.setdontmove(false)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
;=====================================================================================
|
||
|
; PROPERTIES
|
||
|
;=====================================================================================
|
||
|
|
||
|
Actor akSelfActor
|
||
|
|
||
|
visualeffect property _00E_Smoking_PipeSmokingFlameEffect auto
|
||
|
visualeffect property _00E_Smoking_PipeSmokingSmokeExhaleEffect auto
|
||
|
|
||
|
Spell Property _00E_Smoking_abSmoking Auto
|
||
|
Spell Property _00E_Smoking_abSmokingSitting Auto
|