EVENT ResistPhysStatuses
VARS
CHARACTER:_Character
LIST<STATUS>:_RemoveList
STATUS:_Result
FLOAT:_Armor
ON
FetchCharacterApplyStatusData(_Character, _Result)
ACTIONS
ListClear(_RemoveList)
IF "c1|c2|c3|c4|c5|c6|c7|c8"
IsEqual(_Result,CRIPPLED)
IsEqual(_Result,DISEASED)
IsEqual(_Result,TAUNTED)
IsEqual(_Result,BLEEDING)
IsEqual(_Result,TAUNTED)
IsEqual(_Result,DISARMED)
IsEqual(_Result,KNOCKED_DOWN)
IsEqual(_Result,CHICKEN)
THEN
IF "!c1&c2&c3"
CharacterHasTalent(_Character,Raistlin)
CharacterGetStat(_Armor,_Character,PhysicalArmor)
IsRandom(_Armor)
THEN
ListAdd(_RemoveList, _Result)
Set(_Result,null)
StatusText(_Character,"Effect resisted by physical armor")
ENDIF
ELIF "c1|c2|c3|c4|c5|c6|c7|c8|c9|c10|c11|c12|c13|c14|c15|c16|c17|c18|c19|c20"
IsEqual(_Result,BLIND)
IsEqual(_Result,CURSED)
IsEqual(_Result,WEAK)
IsEqual(_Result,CHILLED)
IsEqual(_Result,SHOCKED)
IsEqual(_Result,NULL_RESISTANCE)
IsEqual(_Result,FIREBLOOD)
IsEqual(_Result,MADNESS)
IsEqual(_Result,FLAMING_CRESCENDO)
IsEqual(_Result,DEAF)
IsEqual(_Result,POISONED)
IsEqual(_Result,BURNING)
IsEqual(_Result,NECROFIRE)
IsEqual(_Result,FEAR)
IsEqual(_Result,FROZEN)
IsEqual(_Result,PETRIFIED)
IsEqual(_Result,STUNNED)
IsEqual(_Result,SLEEPING)
IsEqual(_Result,MUTED)
IsEqual(_Result,ENTANGLED)
THEN
IF "!c1&c2&c3"
CharacterHasTalent(_Character,Raistlin)
CharacterGetStat(_Armor,_Character,MagicArmor)
IsRandom(_Armor)
THEN
ListAdd(_RemoveList, _Result)
Set(_Result,null)
StatusText(_Character,"Effect resisted by magic armor")
ENDIF
ENDIF
RETURN(_RemoveList,_Result,null)