Scriptname USKPdunMossMotherValdrAliasScript extends ReferenceAlias int Property HealedStage = 15 Auto Hidden Keyword Property MagicRestoreHealth Auto ;When the cell loads or the quest starts, damage Valdr's health. Event OnLoad() ;debug.trace("USKPdunMossMotherValdrAliasScript: OnLoad") if (GetOwningQuest().GetStage() < HealedStage) ;InjureValdr() GoToState("Injured") endIf endEvent Event OnInit() ;debug.trace("USKPdunMossMotherValdrAliasScript: OnInit") if( GetOwningQuest().IsRunning() ) if (GetOwningQuest().GetStage() < HealedStage) ;InjureValdr() GoToState("Injured") Else ;Self.GetActorReference().SetRestrained(False) GoToState("Healed") EndIf EndIf endEvent ;/ Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect) debug.trace( "USKPdunMossMotherValdrAliasScript: OnMagicEffectApply " + akCaster + " " + akEffect + " " + akEffect.GetName() ) Actor Valdr = GetActorReference() Actor Player = Game.GetPlayer() if (GetOwningQuest().GetStage() < HealedStage) if (akCaster == Player) && (akEffect.HasKeyword(MagicRestoreHealth)) GetOwningQuest().SetStage(HealedStage) Valdr.RestoreActorValue("Health", 75) endif endif endEvent /; Function InjureValdr() ;debug.trace("USKPdunMossMotherValdrAliasScript: InjureValdr") Actor Valdr = GetActorReference() Valdr.DamageActorValue("Health", Valdr.GetActorValue("Health") - 1) endFunction Auto State Injured Event OnBeginState() InjureValdr() RegisterForSingleUpdate(2.0) EndEvent Event OnUpdate() if GetOwningQuest().GetStage() < HealedStage && GetActorReference().GetActorValuePercentage("Health") < 0.8 RegisterForSingleUpdate(2.0) else GoToState("Healed") endif EndEvent EndState State Healed Event OnBeginState() Self.GetActorReference().SetRestrained(False) EndEvent EndState