Kofi said: My IDs are set to off TokenMod v0.8.85 Players can IDs is currently OFF Toggle Hiya, ScriptCards can natively deduct damage and whilst you can add the code for it to your script, I personally prefer making the libraries Kurt recommends, that way you only have one place to edit code should it change. Libraries are Handouts titled ScriptCards Library <Title> and are very definitely case sensitive. If you copy the text for SNlib and 5elib and make those in your game life will become very sweet. then add this as the first line of your script - there's a 3rd library there, not needed today, but worth also making though Kurt is phasing it out +++5Elib;snlib;dnd5elib+++ Next, if you want to autodeduct spell slots, set up your source with this line nice and early --#sourceToken|@{selected|token_id} then set this bit to --/|Get a spell slot level from the caster. --=SpellLevel|?{Spell Slot Level?|3|4|5|6|7|8|9} --#rightsub|Slot Level: [$SpellLevel] -->Lib5E_EXPEND_SPELL_SLOT|[*S:character_id];[$SpellLevel] for damage application change this section to read --/|Loop through the inRange tokens and roll saves for each one and apply damage --~tokenid|array;getfirst;inRange --?[&tokenid] -eq ArrayError|endOutput --:loopDisplay| -->MakeSavingThrow|[&tokenid];dexterity;@{selected|spell_save_dc};[$Damage.Total];fire;thisTokenDamage;saveResult;dex --/|Subroutine to apply damage with ScriptCards. Could be replaced with tokenmod, alterbars or chatsetattr -->LibSN_APPLY_DAMAGE_OR_HEALING|[&tokenid];1;-[$thisTokenDamage];0 --+[*[&tokenid]:character_name]:|Save [$savingThrow] [r][$thisTokenDamage] fire damage[/r] and finally, when I tested this (I use SmartAoE instead, but that's just a preference, both do the deed) the saves were doing some funky things - retaining the previous tokens Dex modifier and adding that to their own etc and so I changed it to this --:MakeSavingThrow|tokenid;savetype;dc;damage;damagetype;damagevariable;saveresultvariable;shortabilityname --/|Subroutine to make saving throws and calculate damage amounts --/|let's check target to see if they have an enhanced save eg Assassin with Dex +6 not +3 --&SaveType|dex --c[&SaveType]|str:&Save2;strength|dex:&Save2;dexterity|con:&Save2;constitution|int:&Save2;intelligence|wis:&Save2;wisdom|cha:&Save2;charisma --?[*[&tokenid]:npc] -eq 1 -and [*[&tokenid]:npc_[&SaveType]_save_flag] -gt 0|&Save;npc_[&SaveType]_save|&Save;[&Save2]_save_bonus --=savingThrow|1d20 + [*[&tokenid]:[&Save]] --&dmgmult| --?[$savingThrow] -ge [%3%]|>set_string;dmgmult; \ 2 --?[$savingThrow] -lt [%3%]|>set_string;[%7%];fail --?[$savingThrow] -ge [%3%]|>set_string;[%7%];success --?"[*[%1%]:npc_resistances]" -inc "[%5%]" -and [$savingThrow] -lt [%3%]|>set_string;dmgmult; \ 2 --?"[*[%1%]:npc_resistances]" -inc "[%5%]" -and [$savingThrow] -ge [%3%]|>set_string;dmgmult; * 0 --?"[*[%1%]:npc_vulnerabilities]" -inc "[%5%]" -and [$savingThrow] -ge [%3%]|>set_string;dmgmult; --?"[*[%1%]:npc_vulnerabilities]" -inc "[%5%]" -and [$savingThrow] -lt [%3%]|>set_string;dmgmult; * 2 --?"[*[%1%]:npc_immunities]" -inc "[%5%]"|>set_string;dmgmult; * 0 --=[%6%]|[%4%] [&dmgmult] --&baseSaveBonus| --<| that dmgmult isn't really necessary, that can also be dealt with via a library if you want, but I just didn't want to make too many changes : ) Anyway, that's my two penneth, quick test looks OK to me