Scriptname FCMConjurableMaidScript extends Actor ObjectReference Property pMaidHomeMarker Auto EffectShader Property ConjureEffect Auto Activator property ConjureEffectActivator Auto ImageSpaceModifier property ConjureImageSpace Auto SPELL Property ConjureMaidSpell AUTO SPELL PROPERTY ConjureSpectralMaidSpell AUTO SPELL PROPERTY ConjureArmedMaidSpell AUTO SPELL Property ConjurePermanentMaidSpell AUTO Bool Function TryDispelPlayer() Actor player = Game.GetPlayer() return player.DispelSpell(ConjureMaidSpell) || player.DispelSpell(ConjureSpectralMaidSpell) || player.DIspelSpell(ConjureArmedMaidSpell) || player.DispelSpell(ConjurePermanentMaidSpell) EndFunction Bool Function TryConjure() if (isNearPlayer()) PlayConjureEffect() return False EndIf return TryMoveto(game.GetPlayer()) EndFunction Bool Function TryReturn() return tryDispelPlayer() && TryMoveTo(pMaidHomeMarker) EndFunction Bool Function TryMoveTo(ObjectReference target) Disappear() Moveto(target) Appear() EndFunction Function PlayConjureEffect() ConjureEffect.Play(Self, 1) EndFunction Function Appear() StopCombat() Enable() If(IsNearPlayer()) placeAtMe(ConjureEffectActivator) ConjureImageSpace.Apply() ConjureEffect.Play(Self, 1) EndIf EndFunction Function Disappear() If(IsNearPlayer()) ConjureEffect.Play(Self, 1) Disable(true) utility.wait(1) Else Disable(True) EndIf StopCombat() EndFunction EVENT onLoad() SetPlayerTeammate() ENDEVENT EVENT OnDying(Actor killer) TryReturn() ENDEVENT