Hey Smarmbot,

I haven't done any D:OS 2 scripting yet (no time for it until next year), so this looks partly unfamiliar. But your problem is probably caused by the first event block always getting executed (ListClear + RETURN...), even if _Result isn't equal to the statuses you define as conditions, so the engine gets an 'Okay' to apply the status (because _Result isn't set to null), regardless of your other event block following which seems to be second in the execution order.

The solution (if I'm guessing right) would be to put everything into one event block.

Edit:
Code
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) 



Last edited by Abraxas*; 01/10/17 04:14 PM.

My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan