Note...All of these ideas require the Metascript Toolbox (script package) to be installed. If you want to affect all player tokens on the map, you can use SelectManagers {&select} syntax with criteria: {& select *, +pc, +bar1>0} That would virtually select all PC tokens (see this link for discussion of what that means) on this map who have a bar1 value over 0 (as if you'd have hit points connected to bar1). Then you can modify attributes with CharSetAttr (another script) as long as you're not using a Beacon sheet because... of course. For wanting to add a d10 to an HP attribute (within the bounds of the max value), that should look something like: !modbattr --sel --hp|[[1d10]] {&select *, +pc, +bar1>0} That would add the same value to all selected characters. Alternatively, if you want to issue individualized/random alterations, you can simultaneously implement SelectManager's !forselected handle, and iterate over the tokens. In this case, you'd defer the roll so that it doesn't happen on the parent message (like the previous roll example), but would instead happen anew for every downstream outbound message (ie, every character). That would look like: !forselected(^) modbattr --sel --hp|[^[^1d10^]^] {&select *, +pc, +bar1>0}