Unfortunately you cant do that with code in the character sheet. Tokens are separate from character sheets, and character sheets cant affect them.The only way to do this is with an API script. You can do it manually, with a script like TokenMod, or create a custom script to watch the attribute and update the status marker. Here's a very old script I used to use for one of my games, mostly cribbed from examples in the wiki. I'd write it differently now, but it still works: /** * Set various token markers based on bar cur/max ratios * * The CONFIG array can have any number of configuration objects. These objects * are processed in order. In the default version, it marks a character unconscious at 25% HP,
* and dead at 0 hit points. * * barId - The ID of the bar to look at the values for [1, 2, 3] * barRatio - The ratio of bar value to max value that triggers setting the status marker [0 - 1] * status - The name of the status marker to toggle, eg skull, dead, etc. * whenLow - The state of the marker when the bar value is <= the ratio [true, false] - it will be reversed when above that. * */ var CONFIG = [ {barId: 3, barRatio: 0.25, status: 'dead', whenLow: true}, {barId: 3, barRatio: 0, status: 'skull', whenLow: true}]; on('change:token', function(obj) { CONFIG.forEach(function(opts) { var maxValue = parseInt(obj.get('bar' + opts.barId + '_max')); var curValue = parseInt(obj.get('bar' + opts.barId + '_value')); log(opts.barId + ': ' + curValue + '/' + maxValue); if (!isNaN(maxValue) && !isNaN(curValue)) { var markerName = 'status_' + opts.status; if (curValue < Math.round(maxValue * opts.barRatio)) { obj.set(markerName, opts.whenLow); } else { obj.set(markerName, !opts.whenLow); } } }); });