@Kevin You beat me!!!! I was going to wait till I was on a computer. =D For Group Initiative, if all you want to roll is NPC initiatives, you can configure it by running the following commands. (You only need to do this once): !group-init --del-group 1
!group-init --add-group --Stat-DnD dexterity After that, you can select npc tokens (as many as you like) and issue this command: !group-init That will roll their initiative and add them to the turn order. There are several other settings in the help, check out: !group-init --help Monster Hit Dice is a bit harder. That's kind of a hacked together script without nice fluffy help and config... I really need to fix that. Here is a version modified to roll hit points for OGL NPCs: // Github: ------ modified copy ------
// By: The Aaron, Arcane Scriptomancer
// Contact: <a href="https://app.roll20.net/users/104025/the-aaron" rel="nofollow">https://app.roll20.net/users/104025/the-aaron</a>
on('ready', function() {
"use strict";
var bar = 'bar3',
hdAttr = 'npc_hpbase',
conAttr = '',
prerollFunction = function(value){
var match = value.match(/\d+\s*\(([^\)]*)\)/);
if(match){
return match[1];
}
return value;
};
on('add:graphic',function(obj) {
var sets = {};
if( 'graphic' === obj.get('type') &&
'token' === obj.get('subtype') &&
'' !== obj.get('represents')
) {
setTimeout(_.bind(function(id){
var obj=getObj('graphic',id),
hdAttrib, conAttrib, bonus = 0;
if( obj && '' === obj.get(bar+'_link') ) {
hdAttrib = findObjs({
_type: 'attribute',
_characterid:obj.get('represents'),
name: hdAttr
})[0];
conAttrib = findObjs({
_type: 'attribute',
_characterid:obj.get('represents'),
name: conAttr
})[0];
if( hdAttrib ) {
if( conAttrib ) {
bonus = _.reduce(hdAttrib.get('current').match(/(\d+)d\d+/g),function(m,die){
m+=parseInt(die.match(/(\d+)d\d+/)[1],10);
return m;
},0)*Math.round((conAttrib.get('current')-10)/2);
}
sendChat('','/r '+prerollFunction(hdAttrib.get('current'))+'+'+bonus,function(r){
var hp=0;
_.each(r,function(subr){
var val=JSON.parse(subr.content);
if(_.has(val,'total'))
{
hp+=val.total;
}
});
sets[bar+"_value"] = hp;
sets[bar+"_max"] = hp;
obj.set(sets);
});
}
}
},this,obj.id), 100);
}
});
});
Note: MonsterHitDice doesn't do a group roll, instead it rolls the hit points when you drag the monster onto the VTT from the journal tab. Be sure that the token assigned to the monster represents that monster's character and that Bar3 DOES NOT represent anything. Let us know if you need any assistance!