I'm not sure what you have going wrong, because your ChatSetAttr command is already setup to add the value of the roll to your character's hp while deducting 1 from their class_resource attribute. A second point of confusion is that TokenMod only affects tokens. So unless the thing you want to affect is some sort of unlinked bar, I'm not sure what you would need TokenMod to do. As written, I don't think you need the --evaluate argument for ChatSetAttr, because I don't think you're dealing with attributes that would have references to other attributes in them (but I don't play this system, so I could admittedly be wrong). Finally, there *is* a way to use rolls in multiple commands if scripts are available, and you're using mods already, so.... The idea is to use the Metascript Toolbox, specifically ZeroFrame batching . One side benefit of this approach is that you no longer have to embed the ChatSetAttr command in your template statement. Batch Example Here's a basic example demonstrating how to use rolls in multiple commands... If you put these commands into a single macro or ability, this won't work to share the roll between lines: The roll is [[1d10]] The roll is still $[[0]] You'll get an output where the second message won't parse the rollmarker: But if you put those statement in a batch in that same macro or ability: !{{ The roll is [[1d10]] The roll is still $[[0]] }} And now all rolls are shared across all lines (in order left=>right, top=>bottom, inside=>out): Adapting Your Command So your command, converted to a batch, would start out as !{{ @{Patches O'Houlihan|wtype} &{template:npcaction} ({)rname=Second Wind(}) ({)description=Patches O'Houlihan shrugs off his wounds and regains [[1d10+@{base_level}]] (1d10+fighter level) hit points. Patches has @{class_resource} uses left(}) !modbattr --name Patches O'Houlihan --silent --evaluate --hp|$[[0]] --class_resource|-1 }} After that, you can add more lines in, if necessary... but... like I said, I *think* you're going to want to change an attribute, which means you're going to do it in the ChatSetAttr line (not needing another line), and I *think* you already have it included, there... so my question would be what -- specifically -- is supposed to be happening here (what do you expect), and what is happening, instead?