Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

D&D Next OGL - group initiative and more.

Hi good people of roll20. I'm looking for an API script or two that allows me the following, using the D&D next OGL NPC sheets by Roll20: - a Group Initiative script for NPCs. - a Group roll HP to Bar 3 script for NPCs. I'm a noob at scripting, but I now how to do macros. Many thanks in advance! Kind regards Chris
I would recommend 2-3 of The Aaron's scripts. Group Initiative - It does require a bit of setup, but should work with with the OGL sheet (though I haven't personally set it up, but if you get stuck, I could probably help). MonsterHitDice - This will probably need a few minor adjustments in order to use it, will see if I can knock that out in the next hour or two and attach the updated script here. TokenNameNumber - This will allow you to easily number your mooks, again requires a bit of pre-planning (renaming the token) but helps tremendously. The above are 1 and 3 are staples in my game, I used to use 2, but the shaped-sheet (which I currently use) has scripts that do this as well.
1456926943
The Aaron
Pro
API Scripter
@Kevin You beat me!!!! &nbsp;I was going to wait till I was on a computer. &nbsp;=D For Group Initiative, if all you want to roll is NPC initiatives, you can configure it by running the following commands. &nbsp;(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. &nbsp;There are several other settings in the help, check out: !group-init --help Monster Hit Dice is a bit harder. &nbsp;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: &nbsp; ------ modified copy ------ // By: &nbsp; &nbsp; &nbsp; The Aaron, Arcane Scriptomancer // Contact: &nbsp; <a href="https://app.roll20.net/users/104025/the-aaron" rel="nofollow">https://app.roll20.net/users/104025/the-aaron</a> on('ready', function() { &nbsp; &nbsp; "use strict"; &nbsp; &nbsp; var bar = 'bar3', &nbsp; &nbsp; &nbsp; &nbsp; hdAttr = 'npc_hpbase', &nbsp; &nbsp; &nbsp; &nbsp; conAttr = '', &nbsp; &nbsp; &nbsp; &nbsp; prerollFunction = function(value){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var match = value.match(/\d+\s*\(([^\)]*)\)/); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(match){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return match[1]; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return value; &nbsp; &nbsp; &nbsp; &nbsp; }; &nbsp; &nbsp; on('add:graphic',function(obj) { &nbsp; &nbsp; &nbsp; &nbsp; var sets = {}; &nbsp; &nbsp; &nbsp; &nbsp; if( 'graphic' === obj.get('type') && 'token' &nbsp; === obj.get('subtype') && '' &nbsp; &nbsp; &nbsp; &nbsp;!== obj.get('represents') ) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setTimeout(_.bind(function(id){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var obj=getObj('graphic',id), &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hdAttrib, conAttrib, bonus = 0; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( obj && '' === obj.get(bar+'_link') ) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hdAttrib = findObjs({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _type: 'attribute',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _characterid:obj.get('represents'), &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name: hdAttr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })[0]; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conAttrib = findObjs({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _type: 'attribute',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _characterid:obj.get('represents'), &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name: conAttr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })[0]; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( hdAttrib ) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( conAttrib ) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bonus = _.reduce(hdAttrib.get('current').match(/(\d+)d\d+/g),function(m,die){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m+=parseInt(die.match(/(\d+)d\d+/)[1],10); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return m; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },0)*Math.round((conAttrib.get('current')-10)/2); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sendChat('','/r '+prerollFunction(hdAttrib.get('current'))+'+'+bonus,function(r){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var hp=0; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _.each(r,function(subr){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var val=JSON.parse(subr.content); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(_.has(val,'total')) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hp+=val.total; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sets[bar+"_value"] = hp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sets[bar+"_max"] = hp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; obj.set(sets); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },this,obj.id), 100); &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; }); }); 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. &nbsp;Be sure that the token assigned to the monster represents that monster's character and that Bar3 DOES NOT represent anything. &nbsp; Let us know if you need any assistance!
MonsterHitDice for the 5e OGL sheet: // Github: &nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/M" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/M</a>... // By: &nbsp; &nbsp; &nbsp; The Aaron, Arcane Scriptomancer // Contact: &nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/M" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/M</a>... // Modified for the 5e OGL sheet (and to use bar_3) by Kevin // Version: &nbsp;0.1.1 on('ready', function(){ &nbsp; &nbsp; on('add:graphic',function(obj){ &nbsp; &nbsp; &nbsp; &nbsp; if( &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'graphic' == obj.get('type')&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; && 'token' &nbsp; == obj.get('subtype')&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; && '' &nbsp; &nbsp; &nbsp; &nbsp;!= obj.get('represents') &nbsp; &nbsp; &nbsp; &nbsp; ) &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setTimeout(_.bind(function(id){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var obj=getObj('graphic',id) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;undefined != obj&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; && '' &nbsp; &nbsp; &nbsp; &nbsp;== obj.get('bar3_link') &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var attrib = findObjs({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _type: 'attribute',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _characterid:obj.get('represents'), &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name: 'npc_hpformula' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( attrib.length ) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sendChat('','/r '+attrib[0].get('current'),function(r){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var hp=0; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _.each(r,function(subr){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var val=JSON.parse(subr.content); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(_.has(val,'total')) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hp+=val.total; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; obj.set({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bar3_value: hp, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bar3_max: hp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },this,obj.id), 100); &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; }); }); Basically when setting up your mook tokens, please make sure that bar3 is not linked to HP. &nbsp;When you drag the token out from the journal entry it will automatically roll the HP based on the npc_hpformula field on the sheet.
Haha, well use The Aaron's refactor, my was very quick and dirty which assumes that the npc_hdformula is completely correct.
1456927660
The Aaron
Pro
API Scripter
Actually, your's is better because it doesn't require a special version. =D &nbsp;I totally missed the npcd_hpformula attribute and wrote a custom parsing function to pull it out of npc_hpbase. =D
Man, you guys are f'ing awesome. Thanks so much for the help all of you. I got the two I wanted to work, however not the numbering one, not sure what I'm doing wrong. Basically it doesn't add a number to the token it just says [NPC Name] %%numbered%%. Again thank you so much!
1456930732

Edited 1456930805
For the numbering script, you don't actually change the NPC Name, that will remain the same. However what you will do is change the Token Name to be Name %%NUMBERED%%: Then you can edit the character journal entry, remove the default token, select the new token and set it as the default. &nbsp;Basically the script is reading the Token name and replacing %%NUMBERED%% with the an actual number. NOTE: &nbsp;I believe that this is case sensitive as well if I remember correctly, so you will need keep that in mind.
1456935763
The Aaron
Pro
API Scripter
Yeah, case sensitive. &nbsp;Here are a couple of&nbsp; TokenMod commands (as macros) I use for setting up monsters and PCs: Fix-Monster &nbsp;- Shows the name (just to the GM), turns on sight, turns off drawing (I use a bunch of Rollable Table Tokens for monsters), sets the name to match the monster and appends the %%NUMBERED%% (I use an importer so represents is already set. &nbsp;If you use a macro to set the represents (as the Fix-PC does), you'd need to split this across buttons), links AC in bar1, sets values (but doesn't link) bar3 (in case the API isn't running, I still have HP for the critter), queries for the light radius and such. !token-mod {{ &nbsp; --on showname light_hassight&nbsp; &nbsp; --off isdrawing&nbsp; &nbsp; --set &nbsp; &nbsp; name|"@{selected|character_name} %%NUMBERED%%" &nbsp; &nbsp; bar1_link|npc_AC &nbsp; &nbsp; bar3_value|@{selected|npc_HP} &nbsp; &nbsp; bar3_max|@{selected|npc_HP|max} &nbsp; &nbsp; light_radius|?{Light|60}&nbsp; &nbsp; &nbsp; light_dimradius|=?{Dim at|-5}&nbsp; &nbsp;?{Player Visible?|No,--off|Yes --on} light_otherplayers }} Fix-PC - Sets up the bars the way I like them, as well as the permissions and sight. &nbsp;Sets the Light to 5' dim (my preference for no-light tokens). &nbsp;It will query for the name of the PC, you can just use the minimal unique name ("Sir Maximillian the Slayer" could be matched by just "max"). &nbsp;YMMV regarding the bar links to set. !token-mod {{ &nbsp; --on showname&nbsp; &nbsp; &nbsp; light_hassight&nbsp; &nbsp; &nbsp; showplayers_name&nbsp; &nbsp; &nbsp; showplayers_bar1&nbsp; &nbsp; &nbsp; showplayers_bar2&nbsp; &nbsp; &nbsp; showplayers_bar3&nbsp; &nbsp; &nbsp; showplayers_aura1&nbsp; &nbsp; &nbsp; showplayers_aura2 &nbsp; --off isdrawing&nbsp; &nbsp; --set represents|"?{Character Name}"&nbsp; &nbsp; &nbsp; bar1_link|?{AC From|Armor,ac|No Armor,ac_noarmor} &nbsp; &nbsp; bar3_link|HP &nbsp; &nbsp; light_radius|5&nbsp; &nbsp; &nbsp; light_dimradius|=-5&nbsp; }} Flip-For-Light - Most tokens face down, but light angles are centered up. &nbsp;This flips it so the rotation handle (and hence, the light beam) points in the direction the token faces. !token-mod --on fliph flipv --set rotation|180
TokenMod is another fundamental script in every game I run... so many uses there. &nbsp;I have a torch token that has multiple token actions that automatically set vision... just so many potential uses. Now if we only had something that could change Mod Character attributes... I don't know... like a CharacterMod... no to wordy... AttribMod... no sounds lame... what would be a good name?!?
Kevin said: TokenMod is another fundamental script in every game I run... so many uses there. &nbsp;I have a torch token that has multiple token actions that automatically set vision... just so many potential uses. Now if we only had something that could change Mod Character attributes... I don't know... like a CharacterMod... no to wordy... AttribMod... no sounds lame... what would be a good name?!? There is no such thing! &nbsp;Might as well ask for a unicorn for your birthday. &nbsp;;)
1456941969
The Aaron
Pro
API Scripter
Hahaha! &nbsp;As soon as I finish rewriting my deploy system, I'm herding that unicorn!
Kevin said: For the numbering script, you don't actually change the NPC Name, that will remain the same. However what you will do is change the Token Name to be Name %%NUMBERED%%: Then you can edit the character journal entry, remove the default token, select the new token and set it as the default. &nbsp;Basically the script is reading the Token name and replacing %%NUMBERED%% with the an actual number. NOTE: &nbsp;I believe that this is case sensitive as well if I remember correctly, so you will need keep that in mind. Ah okay, I got it to work. However, when I copy the token to get an additional one, it doesn't roll for HP, so I don't think the idea of having fx 7 goblins numbered from 1-7 with different HP works? Or am I doing it wrong?
LOL!&nbsp; Well played, Kevin.
1456943669

Edited 1456943771
I don't think the monster HD will roll when copied, just when you pull the out from the journal (which you can do multiple times to get 7). &nbsp; (Sorry on my phone right now so I can't check for sure)
1456944003
The Aaron
Pro
API Scripter
That's correct. &nbsp;I've got a todo to fix that at some point...
When I pull it out from the journal it just says [Name] %%NUMBERED%% for every token. If I copy a token named [Name] %%NUMBERED%% the copied token will have a number, but it wont reroll the HP. I even tried using the token named [Name] 2 that was generated by copying as a default, but then when I pull it into the VTT I just again get tokens named [Name] 2. Sorry for the stupidity. It is probably just a small thing I ain't doing correctly.
Chris if you send a Private Message with the link, I can join you and try to figure out what is wrong. &nbsp;I suspect that you still have the NPC name set with the %%NUMBERED%% syntax but the default token is not set with the %%NUMBERED%% syntax (though I could be wrong).
Hi Kevin I finally figured it out! Not quite sure what I did wrong to begin with it, but it certainly works now. Thanks so much for the help all of you. Kind regards Chris
Great! &nbsp;Glad to hear it!
1457014587
The Aaron
Pro
API Scripter
I concur! &nbsp;Happy Rolling!