!token-mod --set {&if @{selected|bar3} < [[@{selected|MaxHP}/2]].value } statusmarkers|white-tower {&end} It would come down to what you needed to always include vs what you want included only in a condition. In this case, having the --set outside of the IF would make sense if you always wanted to set SOMETHING, and only include the white-tower status marker assignment if the conditional evaluated to true. In fact, you can obfuscate the entire API handle, or render a simple message by including the API handle in the conditionally included text: !{&if @{selected|bar3} < [[floor(@{selected|MaxHP}/2)]].value }token-mod --set statusmarkers|white-tower {&else}@{selected|token_name} is [\][\]$[[0]].value - @{selected|bar3}\]\] points above half of their max hp.{&simple}{&end} If the conditional fails in this case, it will send a normal message instead of the token-mod command (which would otherwise do nothing anyway). You can see the deferred roll of the message, using the syntax: [\][\] ... \]\] That is one way to include a conditional penalty to a roll (retrieving the value to test first, building the equation, then letting the roll go). Otherwise you could conditionally set an attribute on the character (ChatSetAttr using an APILogic structure), and then use normal inline roll math to flatten the penalty to nothing based on the value... ie, if the penalty were a -5 to the roll, you'd store a 0 in the attribute for "no penalty," or a 1 for "apply the penalty"... then your inline roll would multiply -5 by the value of the attribute: [[1d10 + (-5 * @{selected|wounded_penalty})]] Required Scripts: To do the above inline tricks of APILogic, you'd need APILogic , ZeroFrame , and SelectManager installed.