Here's what I use. It's super simple; I don't even remember where I got it or if I wrote it myself, but it is designed to work with the D&D 5th Edition by Roll20 Sheet. You will need to change line 2 to reflect the actual token marker you are using to denote the condition amd line 3 to a different bar number if you don't use bar 1. This does not actively apply the concentrating condition though. That part is manual. on('ready', () => { const TOKEN_CONCENTRATING_STATUS_MARKER = "status_" + "Concentrating::35390"; on("change:graphic:bar1_value", function(obj, prev) { if (obj.get(TOKEN_CONCENTRATING_STATUS_MARKER)) { log ("status marker is " + obj.get(TOKEN_CONCENTRATING_STATUS_MARKER)); //let playerPage = Campaign().get("playerpageid"); //let tokenPage = obj.get("_pageid"); if (prev["bar1_value"] > obj.get("bar1_value")) { let final_conc_DC = 10; let calc_conc_DC = (prev["bar1_value"] - obj.get("bar1_value")) / 2; if (calc_conc_DC > final_conc_DC) { final_conc_DC = Math.floor(calc_conc_DC); } let tokenName = obj.get("name"); let theMessage = "/w gm &{template:npcaction} {{rname=Concentration Check "+tokenName+"}} {{name="+tokenName+"}} {{description=[DC " +final_conc_DC + " Constitution](~selected|constitution_save)"+ "
" +"*[Toggle Concentration Marker](!token-mod --sel --set statusmarkers|!Concentrating)*}}"; sendChat("Concentration",theMessage ); } } }); }); If a token has the concentration token marker on it, and the bar1 value changes, it supplies a roll template with a button to roll a con save for the selected token. You can also take off the "w/gm " if you want players to be able to use it. To get the full token marker name is easiest with the token-mod script. The help document lists them all. There are probably better solutions, but this one works for me. It's biggest draw for you is that it uses the built-in roll template, so it should obey dark mode.