Hi folks! I came across keithcurtis' simple concentration script and I've simplified it a bit more to suit my group's needs. We usually use TokenMod to make hp bar changes though, and I'd like to adjust this further to recognize changes via TokenMod. Here's the script as I'm currently using it: on('ready', () => { const TOKEN_CONCENTRATING_STATUS_MARKER = "status_" + "concentration::4718809"; 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}} {{name="+tokenName+"}} {{description=[DC " +final_conc_DC + " Constitution](~selected|constitution_save)}}"; sendChat("Concentration",theMessage ); } } }); }); And I know I'll need to add something along the lines of this (pulled from another script so I know it won't be this exactly): on('change:graphic', handleTokenChange); if('undefined' !== typeof TokenMod && TokenMod.ObserveTokenChange){ TokenMod.ObserveTokenChange(handleTokenChange); } But I'm not sure which part of the script to change to a constant to use in place of handleTokenChange, let alone how exactly I'd go about that. If anyone's familiar with how to do this your help will be greatly appreciated!