Probably easier to just have a custom script that will do this. Change the ReactionStatus to whatever status you use for reactions. It's case sensitive (because statuses are) and be sure to use the Tag version if there is one (the one followed by ::#####, it's listed in [ ] on TokenMod's help). Script: const ClearReactionStatus = (()=>{ // eslint-disable-line no-unused-vars
// config
const ReactionStatus = ' Eye_Balls::2591986 ';
////////////////////////////////////////
const statRegex = /^([\w-]+(?:::\d+)?)(@\d)?/;
const getTurnArrayFromString = (str) => ( '' === str ? [] : JSON.parse(str));
const statusMarkersWithoutStatus = (statuses,marker) =>
statuses.filter((s)=> marker !== (s.match(statRegex)||[])[1]);
const handleTurnOrderChange = (obj,prev) => {
let to = getTurnArrayFromString(obj.get('turnorder'));
let po = getTurnArrayFromString(prev.turnorder);
const toID = (to[0]||{id:'to'}).id;
const poID = (po[0]||{id:'po'}).id;
// turn changed
if(toID !== poID){
let t = getObj('graphic',toID);
if(t){
t.set('statusmarkers',
statusMarkersWithoutStatus(
(t.get('statusmarkers')||'').split(/,/),
ReactionStatus
).join(',')
);
}
}
};
on('chat:message',(msg)=>{
if('api' === msg.type && /^!eot(\b\s|$)/i.test(msg.content)){
let prev = JSON.parse(JSON.stringify(Campaign()));
setTimeout(()=>handleTurnOrderChange(Campaign(),prev),100);
}
});
on('ready',()=>{
on('change:campaign:turnorder', handleTurnOrderChange);
});
})();