Scriptname _00E_ApparitionQyraiStanceScript extends activemagiceffect  

MiscObject Property _00E_UpdateInventoryItem Auto
GlobalVariable Property _00E_Phasmalist_IsApparitionSummoned Auto
Actor Property PlayerREF Auto

Actor Target

Float Property SPEED_BOOST = 20.0 AutoReadOnly

Event OnEffectStart(Actor akTarget, Actor akCaster)
	Target = akTarget
	If Target == PlayerREF
		Target = None ; Just in case
	EndIf
	SetBoost(SPEED_BOOST)
EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster)
	If _00E_Phasmalist_IsApparitionSummoned.GetValue() > 0.0 ; The apparition is not being unsummoned?
		SetBoost(-SPEED_BOOST)
	EndIf
EndEvent

Function SetBoost(Float fBoost)
	If Target
		Target.ModActorValue("SpeedMult", fBoost)
		Target.AddItem(_00E_UpdateInventoryItem)
		Target.RemoveItem(_00E_UpdateInventoryItem)
	EndIf
EndFunction