The problem with Ziechael's command is just the behavior of Roll Queries. With only a single option, you get an edit instead of a list. The other issue is that if you separate setting the status from flipping the hassight, when you do something like Slow for another status, things start to behave weirdly. I suggest moving the flip inside the Roll Query: !token-mod ?{Status|Blinded, --set statusmarkers#!bleeding-eye --flip light_hassight |Slowed, --set statusmarkers#!tread} You could further separate the Blinded and Not Blinded statuses, which lets you assure that the status marker and the vision state both match by explicitly setting them rather than flipping them: !token-mod --set ?{Adjust Status|Blinded, statusmarkers#+bleeding-eye light_hassight#off |Not Blinded,statusmarkers#-bleeding-eye light_hassight#on} but gives you a longer dropdown. It's a "feature" of the API that changes made by the API don't trigger events. There are ways around it, but it requires an "Opt-In" approach for all the scripts. TokenMod will tell it's Observers whenever it changes a token. The calling signature is the same as the event, so scripts that want to handle TokenMod change:token events can do so. The instructions are at the bottom of the TokenMod help, but here they are repeated: API Notifications API Scripts can register for the following notifications: Token Changes -- Register your function by passing it to TokenMod.ObserveTokenChange(yourFuncObject);. When TokenMod changes a token, it will call your function with the Token as the first argument and the previous properties as the second argument, identical to an on('change:graphic',yourFuncObject); call. Example script that notifies when a token's status markers are changed by TokenMod: on('ready',function(){ if('undefined' !== typeof TokenMod && TokenMod.ObserveTokenChange){ TokenMod.ObserveTokenChange(function(obj,prev){ if(obj.get('statusmarkers') !== prev.statusmarkers){ sendChat('Observer Token Change','Token: '+obj.get('name')+' has changed status markers!'); } }); } }); Hope that helps!