OP
journeyman
Joined: Sep 2016
|
With Baardvaark's permission I've adapted his saving throw script to make your chance to resist a status equal to the percentage of physical or magical armor you have left. I've gotten it to work exactly how I want it to (!!) except for this one little problem I'm hoping someone here can help me figure out. The mod works by overriding the status entries for every debuff with a physical or magic armor check and deleting the 'saving throw' for each, so disables will pass right through armor. Then, the following events are added to the top of Statuses.gamescript, which controls status interactions (i.e. wet + chilled = frozen). For physical armor debuffs: EVENT ResistPhysStatuses VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result FLOAT:_PhysArmor 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(_PhysArmor,_Character,PhysicalArmor) IsRandom(_PhysArmor)
THEN ListAdd(_RemoveList, _Result) Set(_Result,null) StatusText(_Character,"Effect resisted by physical armor") ENDIF ENDIF RETURN(_RemoveList,_Result,null)
For magic armor debuffs: EVENT ResistMagicStatuses VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result FLOAT:_MagicArmor ON FetchCharacterApplyStatusData(_Character, _Result) ACTIONS ListClear(_RemoveList)
IF "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(_MagicArmor,_Character,MagicArmor) IsRandom(_MagicArmor)
THEN ListAdd(_RemoveList, _Result) Set(_Result,null) StatusText(_Character,"Effect resisted by magic armor")
ENDIF ENDIF RETURN(_RemoveList,_Result,null)
So if the status is any one of the statuses we've removed saves from, we do a random roll based on the percentage of the corresponding armor type remaining, and if we roll under that percentage the status is 'blocked,' and the text 'Effect resisted by ____ armor" is shown above the character. The problem I'm having now is that of the two events (physical and magic saves), whichever I put at the top of this file works correctly. The one I put second lets the statuses it governs right through armor. It still returns the 'Effect resisted by ____ armor' text, which indicates to me that the armor percentage check is still occuring, but the status is never 'blocked.' This works the same no matter which event comes second, physical or magic. I assume this problem has something to do with the 'remove list.' If I had a better understanding of how the scripts here work I might be able to figure it out, but my coding process is pretty much all intuition and trial and error. Oh, and the reason I do this in Statuses.gamescript and not a character script is that FetchCharacterApplyStatusData is the only way I've found to 'grab' a status right before it's applied. (The character script this is based on has to remove statuses immediately after application, which returns a bunch of unsightly status set, status removed notifications.) Here's what the rest of Statuses.gamescript (the base game code) looks like: EVENTS EVENT CharacterSetWarm VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, WARM) ACTIONS Set(_Result,WARM) ListClear(_RemoveList) ListAdd(_RemoveList,WET) IF "c1" CharacterHasStatus(_Character, WARM) THEN ListAdd(_RemoveList,WARM) Set(_Result,BURNING) ELIF "c1|c2|c3" CharacterHasStatus(_Character, BURNING) CharacterHasStatus(_Character, NECROFIRE) CharacterHasStatus(_Character, HOLY_FIRE) THEN Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, CHILLED) THEN ListAdd(_RemoveList,CHILLED) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, FROZEN) THEN ListAdd(_RemoveList,FROZEN) Set(_Result,CHILLED) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetBurning VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, BURNING) ACTIONS Set(_Result,BURNING) ListClear(_RemoveList) IF "c1&!c2" CharacterHasStatus(_Character, WARM) CharacterHasStatus(_Character, WET) THEN ListAdd(_RemoveList, WARM) ELIF "c1&!c2" CharacterHasStatus(_Character, WET) CharacterHasStatus(_Character, WARM) THEN ListAdd(_RemoveList, WET) Set(_Result, WARM) ELIF "c1&c2" CharacterHasStatus(_Character, WET) CharacterHasStatus(_Character, WARM) THEN ListAdd(_RemoveList, WET) ELIF "c1" CharacterHasStatus(_Character, CHILLED) THEN ListAdd(_RemoveList, CHILLED) Set(_Result, WARM) ELIF "c1" CharacterHasStatus(_Character, FROZEN) THEN ListAdd(_RemoveList, FROZEN) Set(_Result, WET) ELIF "c1|c2" CharacterHasStatus(_Character, NECROFIRE) CharacterHasStatus(_Character, HOLY_FIRE) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetNecrofire VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, NECROFIRE) ACTIONS Set(_Result,NECROFIRE) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, PETRIFIED) THEN Set(_Result,null) ELSE ListAdd(_RemoveList, WARM) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, CHILLED) ListAdd(_RemoveList, WET) ListAdd(_RemoveList, FROZEN) IF "c1" CharacterHasStatus(_Character, HOLY_FIRE) THEN ListAdd(_RemoveList, HOLY_FIRE) Set(_Result, BURNING) ELIF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result, BURNING) ENDIF ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetHolyFire VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, HOLY_FIRE) ACTIONS Set(_Result,HOLY_FIRE) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, PETRIFIED) THEN Set(_Result,null) ELSE ListAdd(_RemoveList, WARM) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, CHILLED) ListAdd(_RemoveList, WET) ListAdd(_RemoveList, FROZEN) IF "c1" CharacterHasStatus(_Character, NECROFIRE) THEN ListAdd(_RemoveList, NECROFIRE) Set(_Result, BURNING) ENDIF ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetWet VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchCharacterApplyStatusData(_Character, WET) ACTIONS Set(_Result,WET) Set(_Turns,null) ListClear(_RemoveList) ListAdd(_RemoveList, WARM) ListAdd(_RemoveList, INVISIBLE) IF "c1" CharacterHasStatus(_Character, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, WARM) ELIF "c1" CharacterHasStatus(_Character, HOLY_FIRE) THEN ListAdd(_RemoveList, HOLY_FIRE) Set(_Result, WARM) ELIF "c1" CharacterHasStatus(_Character, CHILLED) THEN ListAdd(_RemoveList, CHILLED) Set(_Result,FROZEN) Set(_Turns,1) ELIF "c1|c2|c3" CharacterHasStatus(_Character, FROZEN) CharacterHasStatus(_Character, NECROFIRE) CharacterHasStatus(_Character, HOLY_FIRE) THEN Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, SHOCKED) THEN ListAdd(_RemoveList, SHOCKED) Set(_Result,STUNNED) Set(_Turns,1) ENDIF RETURN(_RemoveList,_Result,_Turns) EVENT CharacterSetChilled VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchCharacterApplyStatusData(_Character, CHILLED) ACTIONS Set(_Result,CHILLED) Set(_Turns,null) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, WARM) ELIF "c1" CharacterHasStatus(_Character, HOLY_FIRE) THEN ListAdd(_RemoveList, HOLY_FIRE) Set(_Result, WARM) ELIF "c1" CharacterHasStatus(_Character, WARM) THEN ListAdd(_RemoveList, WARM) Set(_Result,null) ELIF "c1|c2" CharacterHasStatus(_Character, CHILLED) CharacterHasStatus(_Character, WET) THEN ListAdd(_RemoveList, CHILLED) ListAdd(_RemoveList, WET) Set(_Result, FROZEN) Set(_Turns,1) ELIF "c1|c2|c3" CharacterHasStatus(_Character, FROZEN) CharacterHasStatus(_Character, NECROFIRE) CharacterHasStatus(_Character, HOLY_FIRE) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,_Turns) EVENT CharacterSetFrozen VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, FROZEN) ACTIONS Set(_Result,FROZEN) ListClear(_RemoveList) 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 RETURN(_RemoveList,_Result,null) EVENT CharacterSetPetrified VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, PETRIFIED) ACTIONS Set(_Result,PETRIFIED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, MAGIC_SHELL) THEN ListClear(_RemoveList) ListAdd(_RemoveList, MAGIC_SHELL) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListClear(_RemoveList) ListAdd(_RemoveList, BLESSED) Set(_Result,null) ENDIF IF "c1" IsEqual(_Result, PETRIFIED) THEN ListAdd(_RemoveList, STUNNED) ListAdd(_RemoveList, SHOCKED) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, CRIPPLED) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, POISONED) ListAdd(_RemoveList, INVISIBLE) ListAdd(_RemoveList, SLEEPING) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetShocked VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchCharacterApplyStatusData(_Character, SHOCKED) ACTIONS Set(_Result,SHOCKED) Set(_Turns,null) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, MAGIC_SHELL) THEN ListAdd(_RemoveList, MAGIC_SHELL) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, STUNNED) THEN ListAdd(_RemoveList, SHOCKED) Set(_Result,null) ELIF "c1|c2" CharacterHasStatus(_Character, SHOCKED) CharacterHasStatus(_Character, WET) THEN ListAdd(_RemoveList, SHOCKED) Set(_Result,STUNNED) Set(_Turns,1) ENDIF ListAdd(_RemoveList, INVISIBLE) ListAdd(_RemoveList, SLEEPING) RETURN(_RemoveList,_Result,_Turns) EVENT CharacterSetStunned VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, STUNNED) ACTIONS Set(_Result,STUNNED) ListClear(_RemoveList) ListAdd(_RemoveList, SHOCKED) ListAdd(_RemoveList, PETRIFIED) 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, BLESSED) THEN ListClear(_RemoveList) ListAdd(_RemoveList, BLESSED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetDrunk VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchCharacterApplyStatusData(_Character, DRUNK) ACTIONS Set(_Result,DRUNK) Set(_Turns,null) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, CLEAR_MINDED) THEN ListAdd(_RemoveList, CLEAR_MINDED) Set(_Result, null) ELIF "c1" CharacterHasStatus(_Character, DRUNK) THEN ListAdd(_RemoveList, DRUNK) Set(_Result, SLEEPING) Set(_Turns,2) ENDIF RETURN(_RemoveList,_Result,_Turns) EVENT CharacterSetSlowed VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, SLOWED) ACTIONS Set(_Result,SLOWED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, HASTED) THEN ListAdd(_RemoveList, HASTED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetHasted VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, HASTED) ACTIONS Set(_Result,HASTED) ListClear(_RemoveList) ListAdd(_RemoveList, SLOWED) ListAdd(_RemoveList, CRIPPLED) RETURN(_RemoveList,_Result,null) EVENT CharacterSetFeared VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, FEAR) ACTIONS Set(_Result,FEAR) ListClear(_RemoveList) IF "c1|c2" CharacterHasStatus(_Character, CLEAR_MINDED) CharacterHasStatus(_Character, ENRAGED) THEN ListAdd(_RemoveList, CLEAR_MINDED) ListAdd(_RemoveList, ENRAGED) Set(_Result,null) ELSE ListAdd(_RemoveList, CHARMED) ListAdd(_RemoveList, TAUNTED) ListAdd(_RemoveList, SLEEPING) ListAdd(_RemoveList, MADNESS) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetCharmed VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CHARMED) ACTIONS Set(_Result,CHARMED) ListClear(_RemoveList) IF "c1|c2" CharacterHasStatus(_Character, CLEAR_MINDED) CharacterHasStatus(_Character, ENRAGED) THEN ListAdd(_RemoveList, CLEAR_MINDED) ListAdd(_RemoveList, ENRAGED) Set(_Result,null) ELSE ListAdd(_RemoveList, FEAR) ListAdd(_RemoveList, TAUNTED) ListAdd(_RemoveList, SLEEPING) ListAdd(_RemoveList, MADNESS) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetTaunted VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, TAUNTED) ACTIONS Set(_Result,TAUNTED) ListClear(_RemoveList) ListAdd(_RemoveList, INVISIBLE) IF "c1|c2" CharacterHasStatus(_Character, CLEAR_MINDED) CharacterHasStatus(_Character, ENRAGED) THEN ListAdd(_RemoveList, CLEAR_MINDED) ListAdd(_RemoveList, ENRAGED) Set(_Result,null) ELSE ListAdd(_RemoveList, CHARMED) ListAdd(_RemoveList, FEAR) ListAdd(_RemoveList, SLEEPING) ListAdd(_RemoveList, MADNESS) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetSleeping VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, SLEEPING) ACTIONS Set(_Result,SLEEPING) ListClear(_RemoveList) ListAdd(_RemoveList, INVISIBLE) IF "c1|c2" CharacterHasStatus(_Character, CLEAR_MINDED) CharacterHasStatus(_Character, ENRAGED) THEN ListAdd(_RemoveList, CLEAR_MINDED) ListAdd(_RemoveList, ENRAGED) Set(_Result,null) ELSE ListAdd(_RemoveList, CHARMED) ListAdd(_RemoveList, TAUNTED) ListAdd(_RemoveList, FEAR) ListAdd(_RemoveList, MADNESS) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetMadness VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, MADNESS) ACTIONS Set(_Result,MADNESS) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, CLEAR_MINDED) THEN ListAdd(_RemoveList, CLEAR_MINDED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetClearMinded VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CLEAR_MINDED) ACTIONS Set(_Result,CLEAR_MINDED) ListClear(_RemoveList) ListAdd(_RemoveList, FEAR) ListAdd(_RemoveList, CHARMED) ListAdd(_RemoveList, TAUNTED) ListAdd(_RemoveList, SLEEPING) ListAdd(_RemoveList, ENRAGED) ListAdd(_RemoveList, BLIND) ListAdd(_RemoveList, DRUNK) ListAdd(_RemoveList, MADNESS) RETURN(_RemoveList,_Result,null) EVENT CharacterSetEnraged VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, ENRAGED) ACTIONS Set(_Result,ENRAGED) ListClear(_RemoveList) ListAdd(_RemoveList, FEAR) ListAdd(_RemoveList, CHARMED) ListAdd(_RemoveList, TAUNTED) ListAdd(_RemoveList, SLEEPING) ListAdd(_RemoveList, MADNESS) ListAdd(_RemoveList, CLEAR_MINDED) RETURN(_RemoveList,_Result,null) EVENT CharacterSetRested VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, RESTED) ACTIONS Set(_Result,RESTED) ListClear(_RemoveList) ListAdd(_RemoveList, MUTED) ListAdd(_RemoveList, BLIND) ListAdd(_RemoveList, CRIPPLED) ListAdd(_RemoveList, KNOCKED_DOWN) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, PLAGUE) RETURN(_RemoveList,_Result,null) EVENT CharacterSetMuted VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, MUTED) ACTIONS Set(_Result,MUTED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, RESTED) THEN ListAdd(_RemoveList, RESTED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetBlind VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, BLIND) ACTIONS Set(_Result,BLIND) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, RESTED) THEN ListAdd(_RemoveList, RESTED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetCrippled VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CRIPPLED) ACTIONS Set(_Result,CRIPPLED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, RESTED) THEN ListAdd(_RemoveList, RESTED) Set(_Result,null) ENDIF IF "c1" CharacterHasStatus(_Character, HASTED) THEN ListAdd(_RemoveList, HASTED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetKnockedDown VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, KNOCKED_DOWN) ACTIONS Set(_Result,KNOCKED_DOWN) ListClear(_RemoveList) ListAdd(_RemoveList, INVISIBLE) ListAdd(_RemoveList, SLEEPING) IF "c1" CharacterHasStatus(_Character, RESTED) THEN ListAdd(_RemoveList, RESTED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetRegeneration VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, REGENERATION) ACTIONS Set(_Result,REGENERATION) ListClear(_RemoveList) ListAdd(_RemoveList, ACID) ListAdd(_RemoveList, POISONED) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, SUFFOCATING) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, INFESTED) RETURN(_RemoveList,_Result,null) EVENT CharacterSetFortified VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, FORTIFIED) ACTIONS Set(_Result,FORTIFIED) ListClear(_RemoveList) ListAdd(_RemoveList, ACID) ListAdd(_RemoveList, POISONED) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, INFECTIOUS_DISEASED) ListAdd(_RemoveList, DECAYING_TOUCH) RETURN(_RemoveList,_Result,null) EVENT CharacterSetAcid VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, ACID) ACTIONS Set(_Result,ACID) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, FORTIFIED) THEN ListAdd(_RemoveList, FORTIFIED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetPoisoned VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, POISONED) ACTIONS Set(_Result,POISONED) ListClear(_RemoveList) RETURN(_RemoveList,_Result,null) EVENT CharacterSetBleeding VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, BLEEDING) ACTIONS Set(_Result,BLEEDING) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, REGENERATION) THEN ListAdd(_RemoveList, REGENERATION) Set(_Result,null) ENDIF IF "c1" CharacterHasStatus(_Character, FORTIFIED) THEN ListAdd(_RemoveList, FORTIFIED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetBlessed VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, BLESSED) ACTIONS Set(_Result,BLESSED) ListClear(_RemoveList) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, INFECTIOUS_DISEASED) ListAdd(_RemoveList, DECAYING_TOUCH) ListAdd(_RemoveList, PETRIFIED) ListAdd(_RemoveList, STUNNED) ListAdd(_RemoveList, FROZEN) ListAdd(_RemoveList, INFESTED) ListAdd(_RemoveList, PLAGUE) IF "c1" CharacterHasStatus(_Character, FROZEN) THEN ListAdd(_RemoveList, FROZEN) Set(_Result, CHILLED) ENDIF IF "c1" CharacterHasStatus(_Character, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, HOLY_FIRE) ENDIF IF "c1" CharacterHasStatus(_Character, NECROFIRE) THEN ListAdd(_RemoveList, NECROFIRE) Set(_Result, BURNING) ENDIF IF "c1" CharacterHasStatus(_Character, CURSED) THEN ListAdd(_RemoveList, CURSED) Set(_Result,null) ENDIF IF "c1" CharacterHasStatus(_Character, VOIDHOWL) THEN ListAdd(_RemoveList, VOIDHOWL) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetVoidHowl VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, VOIDHOWL) ACTIONS Set(_Result,VOIDHOWL) RETURN(_RemoveList,_Result,null) EVENT CharacterSetMagicShell VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, MAGIC_SHELL) ACTIONS Set(_Result,MAGIC_SHELL) ListClear(_RemoveList) ListAdd(_RemoveList, FROZEN) ListAdd(_RemoveList, STUNNED) ListAdd(_RemoveList, PETRIFIED) ListAdd(_RemoveList, PLAGUE) ListAdd(_RemoveList, SUFFOCATING) ListAdd(_RemoveList, POISONED) ListAdd(_RemoveList, BURNING) RETURN(_RemoveList,_Result,null) EVENT CharacterSetCursed VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CURSED) ACTIONS Set(_Result,CURSED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, CHILLED) THEN ListAdd(_RemoveList, CHILLED) Set(_Result, FROZEN) ENDIF IF "c1" CharacterHasStatus(_Character, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, NECROFIRE) ENDIF IF "c1|c2" CharacterHasStatus(_Character, WARM) CharacterHasStatus(_Character, HOLY_FIRE) THEN ListAdd(_RemoveList, WARM) ListAdd(_RemoveList, HOLY_FIRE) Set(_Result, BURNING) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetDiseased VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, DISEASED) ACTIONS Set(_Result,DISEASED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, FORTIFIED) THEN ListAdd(_RemoveList, FORTIFIED) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetInfectiousDiseased VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, INFECTIOUS_DISEASED) ACTIONS Set(_Result,INFECTIOUS_DISEASED) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, FORTIFIED) THEN ListAdd(_RemoveList, FORTIFIED) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetDecaying VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, DECAYING_TOUCH) ACTIONS Set(_Result,DECAYING_TOUCH) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, FORTIFIED) THEN ListAdd(_RemoveList, FORTIFIED) Set(_Result,null) ELIF "c1" CharacterHasStatus(_Character, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetInvisible VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, INVISIBLE) ACTIONS Set(_Result,INVISIBLE) ListClear(_RemoveList) IF "c1" CharacterHasStatus(_Character, MARKED) THEN ListAdd(_RemoveList, INVISIBLE) Set(_Result,null) ELSE ListAdd(_RemoveList, WET) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetDeathfog VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, DEATH_FOG) ACTIONS Set(_Result,DEATH_FOG) ListClear(_RemoveList) IF "c1|c2|c3|c4|c5|c6|c7|c8" CharacterHasTalent(_Character, Zombie) IsTagged(_Character, UNDEAD) IsTagged(_Character, UNDEAD_BEAST) IsTagged(_Character, DEATHFOG_IMMUNE) IsTagged(_Character, DRAGON) IsTagged(_Character, VOIDWOKEN) IsTagged(_Character, DEMON) IsTagged(_Character, CONSTRUCT) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetChicken VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CHICKEN) ACTIONS Set(_Result, CHICKEN) ListClear(_RemoveList) ListAdd(_RemoveList, WINGS) IF "c1" CharacterHasStatus(_Character, CHICKEN) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT CharacterSetHealingElixir VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, HEALING_ELIXIR) ACTIONS Set(_Result,HEALING_ELIXIR) ListClear(_RemoveList) ListAdd(_RemoveList, WEAK) ListAdd(_RemoveList, SLOWED) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, POISONED) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, CRIPPLED) ListAdd(_RemoveList, CURSED) ListAdd(_RemoveList, CHILLED) ListAdd(_RemoveList, DRUNK) ListAdd(_RemoveList, BURNING) ListAdd(_RemoveList, BLEEDING) ListAdd(_RemoveList, NECROFIRE) ListAdd(_RemoveList, ACID) ListAdd(_RemoveList, SUFFOCATING) ListAdd(_RemoveList, DECAYING_TOUCH) ListAdd(_RemoveList, INFECTIOUS_DISEASED) ListAdd(_RemoveList, PLAGUE) RETURN(_RemoveList,_Result,null) EVENT CharacterSetChainHeal VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CHAIN_HEAL) ACTIONS Set(_Result,CHAIN_HEAL) ListClear(_RemoveList) ListAdd(_RemoveList, INFESTED) RETURN(_RemoveList,_Result,null) EVENT CharacterSetCleanseWounds VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, CLEANSE_WOUNDS) ACTIONS Set(_Result,CLEANSE_WOUNDS) ListClear(_RemoveList) ListAdd(_RemoveList, INFESTED) ListAdd(_RemoveList, PLAGUE) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, INFECTIOUS_DISEASED) RETURN(_RemoveList,_Result,null) EVENT CharacterSetSteamLance VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, STEAM_LANCE) ACTIONS Set(_Result,STEAM_LANCE) ListClear(_RemoveList) ListAdd(_RemoveList, FROZEN) ListAdd(_RemoveList, CHILLED) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, INFECTIOUS_DISEASED) ListAdd(_RemoveList, DECAYING_TOUCH) ListAdd(_RemoveList, PLAGUE) IF "c1" CharacterHasStatus(_Character, PLAGUE) THEN ListAdd(_RemoveList, PLAGUE) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null)
EVENT CharacterSetWeb VARS CHARACTER:_Character LIST<STATUS>:_RemoveList STATUS:_Result ON FetchCharacterApplyStatusData(_Character, WEB) ACTIONS Set(_Result,WEB) ListClear(_RemoveList) IF "c1&!c2" CharacterHasStatus(_Character, SPIDER_LEGS) CharacterHasStatus(_Character, HASTED) THEN Set(_Result,HASTED) ELIF "c1" CharacterHasStatus(_Character, SPIDER_LEGS) THEN ListAdd(_RemoveList, null) /* Don't reapply Haste to avoid spam */ ELIF "c1&!c2" CharacterHasStatus(_Character, HASTED) CharacterHasStatus(_Character, SPIDER_LEGS) THEN ListAdd(_RemoveList, HASTED) ENDIF RETURN(_RemoveList,_Result,null) // ITEMS ================================================================================================ EVENT ItemSetWarm VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, WARM) ACTIONS Set(_Result,WARM) ListClear(_RemoveList) ListAdd(_RemoveList,WET) IF "c1" ItemHasStatus(_Item, WARM) THEN ListAdd(_RemoveList,WARM) Set(_Result,BURNING) ELIF "c1|c2|c3" ItemHasStatus(_Item, BURNING) ItemHasStatus(_Item, NECROFIRE) ItemHasStatus(_Item, HOLY_FIRE) THEN Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, CHILLED) THEN ListAdd(_RemoveList,CHILLED) Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, FROZEN) THEN ListAdd(_RemoveList,FROZEN) Set(_Result, CHILLED) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetBurning VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, BURNING) ACTIONS Set(_Result,BURNING) ListClear(_RemoveList) ListAdd(_RemoveList,WARM) IF "c1" ItemHasStatus(_Item, CHILLED) THEN ListAdd(_RemoveList,CHILLED) Set(_Result, WARM) ELIF "c1" ItemHasStatus(_Item, WET) THEN ListAdd(_RemoveList,WET) Set(_Result, WARM) ELIF "c1" ItemHasStatus(_Item, FROZEN) THEN ListAdd(_RemoveList,FROZEN) Set(_Result, WET) ELIF "c1|c2" ItemHasStatus(_Item, NECROFIRE) ItemHasStatus(_Item, HOLY_FIRE) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetNecrofire VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, NECROFIRE) ACTIONS Set(_Result,NECROFIRE) ListClear(_RemoveList) ListAdd(_RemoveList,WARM) ListAdd(_RemoveList,BURNING) ListAdd(_RemoveList,CHILLED) ListAdd(_RemoveList,WET) ListAdd(_RemoveList,FROZEN) IF "c1" ItemHasStatus(_Item, HOLY_FIRE) THEN ListAdd(_RemoveList,HOLY_FIRE) Set(_Result, BURNING) ELIF "c1" ItemHasStatus(_Item, BLESSED) THEN ListAdd(_RemoveList,BLESSED) Set(_Result, BURNING) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetHolyFire VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, HOLY_FIRE) ACTIONS Set(_Result,HOLY_FIRE) ListClear(_RemoveList) ListAdd(_RemoveList,WARM) ListAdd(_RemoveList,BURNING) ListAdd(_RemoveList,CHILLED) ListAdd(_RemoveList,WET) ListAdd(_RemoveList,FROZEN) IF "c1" ItemHasStatus(_Item, NECROFIRE) THEN ListAdd(_RemoveList,NECROFIRE) Set(_Result, BURNING) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetWet VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchItemApplyStatusData(_Item, WET) ACTIONS Set(_Result,WET) Set(_Turns,null) ListClear(_RemoveList) ListAdd(_RemoveList,WARM) ListAdd(_RemoveList, INVISIBLE) IF "c1" ItemHasStatus(_Item, BURNING) THEN ListAdd(_RemoveList,BURNING) Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, CHILLED) THEN ListAdd(_RemoveList,CHILLED) Set(_Result, FROZEN) Set(_Turns, 1) ELIF "c1|c2|c3" ItemHasStatus(_Item, FROZEN) ItemHasStatus(_Item, NECROFIRE) ItemHasStatus(_Item, HOLY_FIRE) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,_Turns) EVENT ItemSetChilled VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchItemApplyStatusData(_Item, CHILLED) ACTIONS Set(_Result,CHILLED) Set(_Turns,null) ListClear(_RemoveList) IF "c1" ItemHasStatus(_Item, BURNING) THEN ListAdd(_RemoveList,BURNING) Set(_Result, WARM) ELIF "c1" ItemHasStatus(_Item, WARM) THEN ListAdd(_RemoveList,WARM) Set(_Result,null) ELIF "c1|c2" ItemHasStatus(_Item, CHILLED) ItemHasStatus(_Item, WET) THEN ListAdd(_RemoveList,CHILLED) ListAdd(_RemoveList,WET) Set(_Result, FROZEN) Set(_Turns, 1) ELIF "c1|c2|c3" ItemHasStatus(_Item, FROZEN) ItemHasStatus(_Item, NECROFIRE) ItemHasStatus(_Item, HOLY_FIRE) THEN Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,_Turns) EVENT ItemSetFrozen VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, FROZEN) ACTIONS Set(_Result,FROZEN) ListClear(_RemoveList) ListAdd(_RemoveList,CHILLED) ListAdd(_RemoveList,WET) ListAdd(_RemoveList, INVISIBLE) IF "c1" ItemHasStatus(_Item, BURNING) THEN ListAdd(_RemoveList,BURNING) Set(_Result, WET) ELIF "c1|c2" ItemHasStatus(_Item, NECROFIRE) ItemHasStatus(_Item, HOLY_FIRE) THEN Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, WARM) THEN ListAdd(_RemoveList,WARM) Set(_Result, CHILLED) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetBlessed VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, BLESSED) ACTIONS Set(_Result,BLESSED) ListClear(_RemoveList) ListAdd(_RemoveList, DISEASED) ListAdd(_RemoveList, INFECTIOUS_DISEASED) ListAdd(_RemoveList, DECAYING_TOUCH) ListAdd(_RemoveList, PETRIFIED) ListAdd(_RemoveList, STUNNED) ListAdd(_RemoveList, PLAGUE) IF "c1" ItemHasStatus(_Item, FROZEN) THEN ListAdd(_RemoveList, FROZEN) Set(_Result, CHILLED) ENDIF IF "c1" ItemHasStatus(_Item, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, HOLY_FIRE) ENDIF IF "c1" ItemHasStatus(_Item, NECROFIRE) THEN ListAdd(_RemoveList, NECROFIRE) Set(_Result, BURNING) ENDIF IF "c1" ItemHasStatus(_Item, CURSED) THEN ListAdd(_RemoveList, CURSED) Set(_Result,null) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetCursed VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result ON FetchItemApplyStatusData(_Item, CURSED) ACTIONS Set(_Result,CURSED) ListClear(_RemoveList) IF "c1" ItemHasStatus(_Item, BLESSED) THEN ListAdd(_RemoveList, BLESSED) Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, CHILLED) THEN ListAdd(_RemoveList, CHILLED) Set(_Result, FROZEN) ENDIF IF "c1" ItemHasStatus(_Item, BURNING) THEN ListAdd(_RemoveList, BURNING) Set(_Result, NECROFIRE) ENDIF IF "c1|c2" ItemHasStatus(_Item, WARM) ItemHasStatus(_Item, HOLY_FIRE) THEN ListAdd(_RemoveList, WARM) ListAdd(_RemoveList, HOLY_FIRE) Set(_Result, BURNING) ENDIF RETURN(_RemoveList,_Result,null) EVENT ItemSetShocked VARS ITEM:_Item LIST<STATUS>:_RemoveList STATUS:_Result INT:_Turns ON FetchItemApplyStatusData(_Item, SHOCKED) ACTIONS Set(_Result,SHOCKED) Set(_Turns,null) ListClear(_RemoveList) IF "c1" ItemHasStatus(_Item, MAGIC_SHELL) THEN ListAdd(_RemoveList, MAGIC_SHELL) Set(_Result,null) ELIF "c1" ItemHasStatus(_Item, STUNNED) THEN ListAdd(_RemoveList, SHOCKED) Set(_Result,null) ELIF "c1|c2" ItemHasStatus(_Item, SHOCKED) ItemHasStatus(_Item, WET) THEN ListAdd(_RemoveList, SHOCKED) Set(_Result,STUNNED) Set(_Turns,1) ENDIF ListAdd(_RemoveList, INVISIBLE) ListAdd(_RemoveList, SLEEPING) RETURN(_RemoveList,_Result,_Turns) EVENT CharRemoveFrozen VARS CHARACTER:_Character STATUS:_StatusRemoved ON OnCharacterStatusRemoved(_Character, FROZEN) ACTIONS CharacterApplyStatus(_Character, POST_MAGIC_CONTROL, 0) EVENT CharRemoveStunned VARS CHARACTER:_Character STATUS:_StatusRemoved ON OnCharacterStatusRemoved(_Character, STUNNED) ACTIONS CharacterApplyStatus(_Character, POST_MAGIC_CONTROL, 0) IF "c1" IsTagged(_Character,"AUTOMATON") THEN CharacterApplyStatus(_Character, HYPERCHARGED, 3, 1) ENDIF EVENT CharRemovePetrified VARS CHARACTER:_Character STATUS:_StatusRemoved ON OnCharacterStatusRemoved(_Character, PETRIFIED) ACTIONS CharacterApplyStatus(_Character, POST_PHYS_CONTROL, 0) EVENT CharRemoveKnockedDown VARS CHARACTER:_Character STATUS:_StatusRemoved ON OnCharacterStatusRemoved(_Character, KNOCKED_DOWN) ACTIONS CharacterApplyStatus(_Character, POST_PHYS_CONTROL, 0) EVENT CharRemoveInnerDemon VARS CHARACTER:_Character STATUS:_StatusRemoved ON OnCharacterStatusRemoved(_Character, INNER_DEMON) ACTIONS IF "!c1" CharacterHasStatus(_Character,INNER_DEMON) THEN CharacterRemoveStatus(_Character, DEMONIC_TUTELAGE) ENDIF EVENT InfernalLizard_RemoveNecroFire VARS CHARACTER:_Character ON OnCharacterStatusRemoved(_Character, NECROFIRE) ACTIONS IF "c1&!c2" IsTagged(_Character,"INFERNAL_LIZARD") CharacterHasStatus(_Character,WEAK) THEN CharacterApplyStatus(_Character,WEAK,2,1) ENDIF EVENT InfernalLizard_NecroFireReApply VARS CHARACTER:_Character ON OnCharacterStatusRemoved(_Character, WEAK) ACTIONS IF "c1&!c2" IsTagged(_Character,"INFERNAL_LIZARD") CharacterHasStatus(_Character,NECROFIRE) THEN CharacterApplyStatus(_Character,NECROFIRE,-1,1) ENDIF
|