EVENT CharacterSetFrozen
VARS
CHARACTER:_Character
LIST<STATUS>:_RemoveList
STATUS:_Result
FLOAT:_MagicArmor
ON
FetchCharacterApplyStatusData(_Character, FROZEN)
ACTIONS
Set(_Result,FROZEN)
ListClear(_RemoveList)
IF "!c1&c2&c3"
CharacterHasTalent(_Character,Raistlin)
CharacterGetStat(_MagicArmor,_Character,MagicArmor)
IsRandom(_MagicArmor)
THEN
ListAdd(_RemoveList, _Result)
Set(_Result,null)
StatusText(_Character,"Effect resisted by magic armor")
ELSE
ListAdd(_RemoveList, CHILLED)
ListAdd(_RemoveList, WET)
ListAdd(_RemoveList, INVISIBLE)
ListAdd(_RemoveList, SLEEPING)
IF "c1"
CharacterHasStatus(_Character, MAGIC_SHELL)
THEN
ListClear(_RemoveList)
ListAdd(_RemoveList, MAGIC_SHELL)
Set(_Result,null)
ELIF "c1"
CharacterHasStatus(_Character, BURNING)
THEN
ListAdd(_RemoveList, BURNING)
Set(_Result, WET)
ELIF "c1"
CharacterHasStatus(_Character, HOLY_FIRE)
THEN
ListAdd(_RemoveList, HOLY_FIRE)
Set(_Result, WET)
ELIF "c1|c2"
CharacterHasStatus(_Character, NECROFIRE)
CharacterHasStatus(_Character, HOLY_FIRE)
THEN
Set(_Result,null)
ELIF "c1"
CharacterHasStatus(_Character, WARM)
THEN
ListAdd(_RemoveList, WARM)
Set(_Result, CHILLED)
ENDIF
ENDIF
RETURN(_RemoveList,_Result,null)