Scriptname _00E_FS_Affinity_TransformApparation extends activemagiceffect  

_FS_Phasmalist_ControlQuest Property ControlQuest Auto
Message Property _00E_Phasmalist_NoApparitionCurrentlySummoned Auto
Spell Property _00E_FS_Affinity_Soulcaller_ApparationWolfFormSP Auto
MagicEffect Property _00E_FS_Affinity_Soulcaller_ApparationWolfFormME Auto
GlobalVariable Property _00E_Phasmalist_TankMode Auto

Event OnEffectStart(Actor akTarget, Actor akCaster)
	If ControlQuest.IsApparitionSpawned() == False || _00E_Phasmalist_TankMode.GetValue() != 0
		_00E_Phasmalist_NoApparitionCurrentlySummoned.Show()
	Else
		Actor akApparition = ControlQuest.GetApparitionFailsafeRef()
		If akApparition
			If akApparition.HasMagicEffect(_00E_FS_Affinity_Soulcaller_ApparationWolfFormME)
				akApparition.DispelSpell(_00E_FS_Affinity_Soulcaller_ApparationWolfFormSP)
			Else
				_00E_FS_Affinity_Soulcaller_ApparationWolfFormSP.Cast(akApparition)
			EndIf
		EndIf
	EndIf
EndEvent