The problem with a GM roll is that the player that initiates it still sees the result. To get a true blind roll, you need to use an API script. Here's a simple one (I didn't write it, only modified it). Call it like this: !broll 1d20+@{selected|perception_bonus} [Perception] Script: on("chat:message", function(msg_orig) {
"use strict";
var msg = _.clone(msg_orig), who;
if (msg.type !== "api") {
return;
}
if(_.has(msg,'inlinerolls')){
msg.content = _.chain(msg.inlinerolls)
.reduce(function(m,v,k){
m['$[['+k+']]']=v.results.total || 0;
return m;
},{})
.reduce(function(m,v,k){
return m.replace(k,v);
},msg.content)
.value();
}
who=getObj('player',msg.playerid).get('_displayname').split(' ')[0];
var cmdName = "!broll ";
var msgTxt = msg.content;
var msgWho = msg.who;
var msgFormula = msgTxt.slice(cmdName.length);
if(msg.type == "api" && msgTxt.indexOf(cmdName) !== -1) {
if(_.has(msg,'rolltemplate')) {
sendChat(msgWho,'/w gm &{template:'+msg.rolltemplate+'}'+msg.content);
sendChat(msgWho, "/w " + who + " secret rolltemplate sent to GM");
} else {
sendChat(msgWho, "/gmroll " + msgFormula);
sendChat(msgWho, "/w " + who + " secret roll sent to GM (" + msgFormula + ")");
}
};
});