I am trying to create a PowerCard macro for my players (using the 5e Community Contributed character sheet) that will decide the results of a grapple attempt. However, The script is somehow re-rolling or re-calculating the variable that holds the roll result for the grapplee/target. Here is the code that I have added a lot of output to see what my variables are: !power {{ --name|Grapple --format|contest --leftsub|Ability Check --rightsub|Contest --target_list|@{target|token_id} --charid|@{selected|character_id} --emote|@{selected|character_name} vs @{target|token_name} --Attack|[[ [$Atk] ?{Attack Type|Standard, 1d20|Advantage, 2d20kh1|Disadvantage, 2d20kl1} + [[@{selected|athletics}]] [Tot Athletics Bonuses] ]] Athletics Check --?? [[@{target|athletics}]] > [[@{target|acrobatics}]] ?? PC|[[ [$Chk] 1d20 + [[@{target|athletics}]] ]] Athletics Check ([[@{target|athletics}]] Total Athletics Bonuses) --?? [[@{target|acrobatics}]] >= [[@{target|athletics}]] ?? PC|[[ [$Chk] 1d20 + [[@{target|acrobatics}]] ]] Acrobatics Check ([[@{target|acrobatics}]] Total Acrobatics Bonuses) --?? [[@{target|is_npc}]] == 1 AND [[@{target|npc_strength_save_mod}]] > [[@{target|npc_dexterity_save_mod}]] ?? NPC|[[ [$Chk] 1d20 + [[@{target|npc_strength_save_mod}]] ]] Strength Check ([[@{target|npc_strength_save_mod}]] STR Mod) --?? [[@{target|is_npc}]] == 1 AND [[@{target|npc_dexterity_save_mod}]] >= [[@{target|npc_strength_save_mod}]] ?? NPC|[[ [$Chk] 1d20 + [[@{target|npc_dexterity_save_mod}]] ]] Dexterity Check ([[@{target|npc_dexterity_save_mod}]] DEX Mod) --Result|Atk = [^Atk] vs Chk = [^Chk] --?? $Atk >= $Chk ?? Success|@{target|token_name} is now grappled! --?? $Atk < $Chk ?? Fail|@{target|token_name} was able to evade your grasp! }} Here is a screenshot of on of those grapple attempts: Ignore the first PC line: That is an expected outcome given the planned logic in the code. However, if you look at the NPC line it shows we rolled a 5 (1d20 + the kobold's +2 DEX mod). But in the two lines below that, the variable (Chk) is now 2 when it should be 5. In subsequent attempts, the script will provide a higher Chk value than originally rolled. In this one, Chk should be 10 and not 19: Any ideas what is causing this? I'm completely stumped!