I used this API below to create a turn tracker in the turn order for things like Bless, Rage The command I use is !act -1 10 --@{target|1|character_name} , @{target|2|character_name}, @{target|3|character_name}. Blessed If i run this command it works, If a player runs it the command doesn't work. I am try to fine out is there a function that only let the GM use it or can I set it to allow players to use. I got this API from a post that I can't find anymore and maybe some of you recongnize it.
on('ready',function(){
"use strict";
on('chat:message',function(msg){
var args,cmds,who,initial,change,entry;
if('api' === msg.type && msg.content.match(/^!act\b/) && playerIsGM(msg.playerid) ){
if(_.has(msg,'inlinerolls')){
msg.content = _.chain(msg.inlinerolls)
.reduce(function(m,v,k){
var ti=_.reduce(v.results.rolls,function(m2,v2){
if(_.has(v2,'table')){
m2.push(_.reduce(v2.results,function(m3,v3){
m3.push(v3.tableItem.name);
return m3;
},[]).join(', '));
}
return m2;
},[]).join(', ');
m['$[['+k+']]']= (ti.length && ti) || v.results.total || 0;
return m;
},{})
.reduce(function(m,v,k){
return m.replace(k,v);
},msg.content)
.value();
}
args = msg.content
.replace(/<br\/>\n/g, ' ')
.replace(/(\{\{(.*?)\}\})/g," $2 ")
.split(/\s+--/);
cmds=args.shift().split(/\s+/);
change=parseFloat(cmds[1])||'+1';
initial=parseFloat(cmds[2])||0;
entry=args.join(' ');
if(entry.length){
let to=JSON.parse(Campaign().get('turnorder'))||[];
to.unshift({
id: "-1",
pr: initial,
custom: entry,
formula: change
});
Campaign().set('turnorder',JSON.stringify(to));
} else {
who=getObj('player',msg.playerid).get('_displayname');
sendChat('ACT',`/w "${who}" <div style="padding:1px 3px;border: 1px solid #8B4513;background: #eeffee; color: #8B4513; font-size: 80%;"><div style="background-color: #ffeeee;">Error: no entry name provided.</div></div>`);
}
}
});
});