I'm really struggling with this, and there are roughly one billion replies,but none of them seem to do the obvious. Colossus slayer (5E) is not a selectable thing, it's a global that is in affect anytime a target has less than max hitpoints. And yes I'm using the roll20 5E sheet. So I want to set this as a global damage modifier. I should be able to get either a 0 or 1 * 1d8 from the following [[ floor((@{target|foe|hp})/(@{target|foe|hp|max}))*1d8 ]] but instead I get SyntaxError: Expected "(", ".", "[", "abs(", "ceil(", "d", "floor(", "round(", "t", "{", [ |\t], [+|\-] or [0-9] but ")" found. I can get the number value from the target|foe|hp and the max. floor(hp/max) will be either 1 or 0 (unless the guy has an insane amount of temp hp, but I'll address that later). The thing killing me here is the syntax! I also tried adapting the approach here to getting a conditional: <a href="https://wiki.roll20.net/Useful_Macros#Conditional_Statements_.28Math_Only.29" rel="nofollow">https://wiki.roll20.net/Useful_Macros#Conditional_Statements_.28Math_Only.29</a> [[{{x,false-value-compared-to-A}>A}*(F-T) + T]] is the example where if x (hp) is less than A (hp max) return a number. My version is [[{{(@{target|foe|hp}),0}>(@{target|foe|hp|max})}]] which should at least return a 0 or 1. Same syntax error. I've been doing computer programming for 40 years, this shouldn't be that hard. And I'm really surprised there isn't already a standard answer to this -- heck, it should be draggable from the compendium!