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

[Script] RPGMaster APIs for AD&D 2E

Quick question on Jumpgate Richard, has the situation with the API been resolved yet, and how stable will the API be on a new Jumpgate campaign rather than a Legacy conversion? Richard @ Damery said: RPGMaster v5.0.0 Release The RPGMaster Suite is due to have a complete major release. v5.0.0 includes the brand new Commerce, Trading & Services system for AD&D2e, described in the post here . It's taken a period of beta testing to iron out a number of bugs - I don't promise for it to be bug free, especially when it hits character sheets I've not tested it with! However, it has worked successfully in several games with my group. After the APIs have automatically upgraded (if you loaded them from the Roll20 Mod Library) or you have updated them manually (you can check the version by looking at the Release Notes handout), you will need to convert data in the character sheets to make best use of Peter B.'s excellent Advanced D&D 2e sheet: the conversion will occur only when characters undertake a Long Rest (so as not to interrupt game play at a critical moment!) so I recommend the GM enables Long Rests using either the [End of Day] macro bar button or the [Maint Menu] macro button, or using the !init --end-of-day or !init --maint commands, and then get all the characters to do a long rest (using either the Spell Menu > Long Rest  action, or the Rest  action, or the !magic --rest  command. There is not really a need to convert Creatures or NPCs - and in fact Characters will work fine without the conversion: the conversion just allows items equipped to be listed sorted by type to make them easier for players to find and use. All Drag & Drop  NPCs & Creatures (including the new Traders, Trainers, Schools & Service Providers) created after v5.0.0 is loaded will, of course, use the new structures on the character sheet from the start, and will not need conversion. I'll put out abother post when everything has been merged into the Roll20 core, and put the full release notes here. In the mean time, I'm happy to take questions about the new release.
Tommy said: Quick question on Jumpgate Richard, has the situation with the API been resolved yet, and how stable will the API be on a new Jumpgate campaign rather than a Legacy conversion? I've been running a campaign in Jumpgate for about 4 weeks, and everything seems stable so far.  Not experienced any of the problems previously seen, even after several hours of game-play with the APIs.  Targeting of tokens seems to heve been resolved. Have a go, but I suggest ensuring you retain non-Jumpgate versions of campaigns for a little while, though if you play for long periods in the Jumpgate versions it becomes a pain to rebuild the characters and creatures in the non-Jumpgate versions if you have to revert.
I've got a section of my larger campaign that can probably fit into a smaller game, as there isn't much overlap with previous parts in terms of areas and NPCs etc, and I don't mind creating everything from scratch. That will help me get to grips with the new elements and upgrades and use it as a test. If everything works out and I'm able to rebuild the bigger campaign is there likely to be any issue with Transmogrifying the APIs? I've not tried that on any games since it became an option.  Richard @ Damery said: Tommy said: Quick question on Jumpgate Richard, has the situation with the API been resolved yet, and how stable will the API be on a new Jumpgate campaign rather than a Legacy conversion? I've been running a campaign in Jumpgate for about 4 weeks, and everything seems stable so far.  Not experienced any of the problems previously seen, even after several hours of game-play with the APIs.  Targeting of tokens seems to heve been resolved. Have a go, but I suggest ensuring you retain non-Jumpgate versions of campaigns for a little while, though if you play for long periods in the Jumpgate versions it becomes a pain to rebuild the characters and creatures in the non-Jumpgate versions if you have to revert.
Tommy said: I've got a section of my larger campaign that can probably fit into a smaller game, as there isn't much overlap with previous parts in terms of areas and NPCs etc, and I don't mind creating everything from scratch. That will help me get to grips with the new elements and upgrades and use it as a test. If everything works out and I'm able to rebuild the bigger campaign is there likely to be any issue with Transmogrifying the APIs? I've not tried that on any games since it became an option.  The APIs work absolutely fine if the Campaign is copied to a Jumpgate version, or if an existing Campaign is converted to Jumpgate.  I've not come across any issues yet.  However, do let me know if you come across anything. FYI, 5.0.0 was merged last night and should auto-update in the next day or so.  I'm currently working on v5.1.0, which includes bespoke API buttons and the ability to choose "small", "medium" or "large" text in the chat window, so as to reduce the amount of screen acreage taken up by RPGMaster dialogs, by using the menu option "cog" - the "ghost cog" that appears at the right of all dialog titles which is currently used to choose between plain, fancy & dark dialogs.  I'm also working on speeding up the APIs, removing variable declarations from inside loops in the code, using "let" & "const" instead of "var" in code blocks, and compressing the code.  Each change will do little to speed things up, but all together might have some positive effect.  This will need lots of testing as it requires every single code block in the APIs to be changed, so it might be Christmas before it is released... Enjoy Jumpgate and RPGMaster v5.0.0 (try out the Drag & Drop  Traders and Schools) and do let me know if you find any issues.
RPGM Release Notes v5.000 RPGMaster Release Notes for version 5.0.0 v5.0.0 Release Notes This is a major release, with considerable changes to add major new functionality, and a large number of new database items. It has been 6 months in the making! If you find errors, please be patient and  send me information about it  so I can fix it for everyone. Money, Trading and Commerce For many years, almost since version 1, there has been a rudimentary trading system in RPGMaster. If the GM manually added a value to an item in a character's inventory then searching the character for items and picking up the item with a value would trigger a charging sequence. However, that system was highly manual and difficult to use, with no way for Player Characters to sell items in their inventory to get money to buy other items. So that system has been totally replaced and massively upgraded. All items in all the item databases supplied with the system have now been valued, using the rules in the PHB, DMG and the  Dungeon Master Option (High Level Campaigns)  manual. New data tags have been created for NPCs which trigger them being traders, able to both sell and, critically, buy items to and from Player Characters (or other NPCs). Money is stored in each character's inventory as coins, which themselves are storable items (e.g. to use as bribes) or can be pick-pocketed. Traders defined in the Race-DB-Services database are enabled for  Drag & Drop  so that Inns, General Stores, Blacksmiths in their Forge, and Wizard's Emporiums can just be dropped, fully populated with full inventories (with random quantities of items or even totally randomised inventories), onto the playing surface. Services, such as weapon proficiency training in many different weapons and to many different skill levels, which can be bought at a cost, have also been added. Fighting style training is included, and Weapon-Proficiency slot management has been added (with an RPGM configuration item to ignore it if so desired). Training services for characters to level-up in their desired class have also been added, again at a cost, and  Drag & Drop  training schools (such as the Sword Master School, Archery School, Wizard's University, and even the Thieve's Guild) added to the  Drag & Drop  system under the new [Services] list on the  Drag & Drop  dialog. These schools are just another form of Trader but often will only sell training: purchasable training items are stocked in their inventories which automatically perform the appropriate changes required to the character sheet when purchased. All of this is a considerable change to the APIs, affecting every single one in the suite (even RoundMaster which has new effects and event triggers to support some purchaseable services). If you find any issues, please be patient and  report them to me using a DM  or in the RPGMaster Forum. Thanks for your support for this. See the updated  Class Database Help, Race & Creature Database Help, CoomandMaster Help  and  MagicMaster Help  handouts for more information. Advantage & Disadvantage The D&D5e conditions of  Advantage  and  Disadvantage  have been implemented as extensions to the  !attk --set-mods  command. Made possible for melee and ranged weapon attacks, damage rolls, saving throws, attribute checks and rogue skill checks, each condition prompts two dice to be rolled instead of one, with the most beneficial being taken for Advantage and the least beneficial for Disadvantage. These conditions can be useful for aiding gameplay and have been added as an example to the alchoholic drinks in the MI-DB-Custom database - drinking (i.e. using) these "potions" will apply Disadvantage to attacks and skill checks for many rounds to the PC / NPC drinking them to simulate inebriation. See the  AttackMaster Help  handout for more information. Fighting Style Restrictions by Class To date, GMs have been able to allocate fighting styles to proficiency slots on any character sheet for any character class, which strictly speaking is not correct according to  The Complete Fighter's Handbook . GMs can still do this. However, now that Training Services can be bought by player characters (and NPCs), a new class data tag "styles:" has been added which limits which fighting styles each character class can train in, in line with the rules in the Handbook. Of course, the GM can always use their  [Token Setup] > [Add Proficiencies]  dialog (or  !cmd --add-profs  command) to set whatever proficiencies they wish. Player Proficiencies Table Display To further support weapon proficiency and fighting style training, an option to display a character's current proficiencies has been added to the [Other Actions] menu. It can also be accessed by the  !cmd --add-profs  command which, when used by a player, will display the proficiencies table (the GM can use it to add to or change existing proficiencies). The players can seek training to buy to gain proficiency improvements, using the new trading and services capabilities. Character Inventory Grouping The character's inventory of items that they own can grow and grow, especially now equipment and treasure have been added to pickable items. Viewing the inventory can be confusing and items the player wants to use difficult to find. Recently, Peter B. added multiple new item tables to his excellent character sheet, so I have made changes to the internal table management system of RPGMaster to make use of this, and split inventory items across these multiple tables. This allows the items displayed in inventory lists to be split by item class, making each section shorter and easier to find specific items in. The split is into: Potions; Scrolls & Books; Rings Rods Staves & Wands; Weapons Armour & other Gear; Miscellaneous magic items; Treasure items, and Coins. Making this split requires a conversion of the character sheet - don't worry, the system does this automatically for you.. but only when each individual character does a long rest: this ensures that the APIs don't slow down everybody's systems too much. The APIs work fine on character sheets that have not yet been converted: the item inventory views just won't yet be split by item class. The conversion uses some functionality that has been around in the APIs for a while: as a result if there are items in the inventory that do not appear in your currently loaded databases the conversion will also give the GM the opportunity to match the items to existing database items. New databases As mentioned above when discussing Traders, there are a couple of new databases to take a look at: MI-DB-Services and Race-DB-Services. MI-DB-Services  holds definitions of purchaseable services, such as weapon proficiency training, fighting style training, character levelling-up, and more esoteric services such as mooring fees and ships crew pay! These services use existing functionality to trigger action on being bought (or otherwise picked up), which immediately consumes the service which disappears from the character's inventory, and simultaneously updates the character sheet of the purchaser in line with the service provided - e.g. levelling-up will increase the character's level by 1 in the purchased class and all associated changes, such as saving throws, level-related powers, attacks per round, etc. etc. will be updated. Race-DB-Services  holds definitions for  Drag & Drop  service providers and trading locations. A new [Services] button on the dialog that appears when you drop a blank character sheet onto the playing surface (the  Drag & Drop  dialog, which can also be acessed via the GM's  [Token Setup] macro button > [Choose Race/Class] , or the  !cmd --abilities  command). Selecting this button reveals a Roll Queery with a list of service providers and trading locations like the Warrior School, Wizard's University, an Inn, the Forge and many others. Selecting any of these will set up the dropped token and associated character sheet as the selected service provider or trader, with an inventory of saleable items. The trader definition might optionally ask the GM to choose a trading profit margin for the trader to set prices to achieve. Added more  Drag & Drop  Creatures The list of Creatures that can be  Dragged & Dropped  onto the playing surface fully created continues to expand. The latest additions are: Assassin vine Chuul Giant Coral Snake Green Slime Harpy Common Mimic Peryton Sea Hag Additional Magical and Treasure Items A more thorough analysis of the DMG lists of magic item descriptions revealed a number of items that had not been defined in the item databases. These have now been defined and added, so that all items described in the DMG are now present (at least that is the current view...). It is also the case that some weapons (especially polearms) were defined as standard weapons, but without magial versions that are plus to attack or are magically cursed. These have now been added. Also, gems and other treasure items described in the DMG have now been added to the MI-DB-Treasure database, and can be added to creatures, NPCs, chests and other containers, and traded using the new commerce and trading system. RPGM Maths Can Use Sheet Values The RPGMaster Maths system was created so that API database items can contain calculated values as it does not have access under all circumstances to the Roll20 chat or macro maths functions. The system has now been extended so that it can use values from the character sheet in formula submitted for evaluation. The format is ^^field-name^^ - the field-name is the name of the field shown in the tool-tip revealed by hovering the mouse over the field. The name of the character sheet is not definable, and is worked out contextually by the APIs. Thus a formula such as ^(0;^^level-class1^^d4-5) can be used which bases the dice roll on the warrior level of the sheet: if level 2, it would evaluate to Math.max(0,2d4-5). See section 1.3 of any RPGMaster API help handout or more information. New RPGM Configuration Options To give the GM control of how the AD&D2e rules are applied in their campaign world, RPGMaster allows a number of rules to be turned on or off. This is done with the GM's [RPGM-config] macro bar button, or the  !magic --config  or  !attk --config  commands. Two new rule configuration options have been added: auto-calculate weapon proficiency slots, or allow the number of slots to be manually changed on the sheet. allow weapon specialisation in more than one weapon or not (not counting fighting style specialisation). Effects Triggered by Long or Short Rests Some spells, services, and other activities have effects over more than a day. Previously, such effects have had to be remembered to be acting by the GM and players, and ended manually. It is now possible to create effects that are triggered by short or long rests: the syntax for the effect name is "status-name -short " and "status-name -long ". The best use for these is to create a status with a duration in days but a direction of zero (i.e. the duration does not change each round), and an associated status effect that reduces the duration of the status by one on each long rest, by using !rounds --addtargetstatus ^^tid^^|status-name|-1|0|message|token-marker. It then just requires the character with the status marker to perform long rests each day for the effects to count down the days and the status marker to be automatically removed when the status ends. Fixes While I am sure everything worked when first coded, subsequent changes have had unexpected consequences and players have also done things I didn't expect (is that not the story for all GMs?). Hence fix lists continue... Fixed table tidying capabilities Fixed race queries associated with pick lists that are not alphabetised Fixes to Spells: Comprehend Languages, Confuse-Languages, Identify Fixes to thief skills system, and added tags for items to magically affect thief skill scores Fixed [Return] buttons working in dialogs with  Show more / Show less  hyperlinks Fixed corruptions to the Fighting Styles database, with auto-cleaning Fixed several bugs with temporary mods Fixed the sentience of  Drag & Drop  creatures to support trading and pick-pocketing Fixed an issue with evelAttr() for unbracketed alculations Fixed a Firebase crash for items in  Drag & Drop  container specs without a specified quantity Fixed multiple errors in calculating attacks per round by race, class, weapon type and proficiency
How can I set up monsters? My usual method no longer works.
1757090622

Edited 1757138051
Richard @ Damery
Pro
API Scripter
(Edited) Isa said: How can I set up monsters? My usual method no longer works. I can see that your monster's name inludes parentheses - as in (Loup-garou) . The problem with doing that is that the API button syntax for Roll20 for calling an ability macro on a sheet is  [Button-text](~Character-sheet-name|ability-macro-name) or [Button-text](!
%{Character-sheet-name|ability-maccro-name}) If you have a call to an ability maro on the sheet with your monster name, it will look like this: [Button-text](~Jaconos Hanabara (Loup-garou)|Do-not-use-Monster-Attk-1) The "close parenthesis" after Loup-garou will terminate the syntax early.  That is why the APIs check for names with ( ) in on start up and warn you.  RPGMaster creates attack and save actions this way so that 3D dice work during game-play.  If it just sent roll requests from the APIs 3D dice don't appear. So just get rid of the parentheses in the monster name - really, best to only use A-Z, a-z, numbers, hyphens, or plus.  Ypu might get away with < and > but they can cause CSS parsing issues in the browser if used in certain ways. I'm currently working on v5.1.0, in which I am creating my own API button parser, and it will  allow parentheses in names. But that will not be released for many months yet. I hope that helps?
Richard @ Damery said: (Edited) Isa said: How can I set up monsters? My usual method no longer works. I can see that your monster's name inludes parentheses - as in (Loup-garou) . The problem with doing that is that the API button syntax for Roll20 for calling an ability macro on a sheet is  [Button-text](~Character-sheet-name|ability-macro-name) If you have a call to an ability maro on the sheet with your monster name, it will look like this: [Button-text](~Jaconos Hanabara (Loup-garou)|Do-not-use-Monster-Attk-1) The "close parenthesis" after Loup-garou will terminate the syntax early.  That is why the APIs check for names with ( ) in on start up and warn you.  RPGMaster creates attack and save actions this way so that 3D dice work during game-play.  If it just sent roll requests from the APIs 3D dice don't appear. So just get rid of the parentheses in the monster name - really, best to only use A-Z, a-z, numbers, hyphens, or plus.  Ypu might get away with < and > but they can cause CSS parsing issues in the browser if used in certain ways. I'm currently working on v5.1.0, in which I am creating my own API button parser, and it will  allow parentheses in names. But that will not be released for many months yet. I hope that helps? Yes, thanks. So it's the parentheses again....Thank you for the quick help.
V5.0 Bug Found: Ammo not found for ranged weapons Description of Bug:  If a character takes a bow or other ranged weapon in hand that uses ammunition (such as arrows), then the APIs will not find any equipped ammo, even if it exists. No ammo will be entered into the weapon tables and attacking will not be possible with these ranged weapons. "Self-ammoed" ranged weapons such as warhammers, daggers, spears etc all work fine.  It seems my group were not using bows during testing!!! Workaround:  I have not been able to find a workaround. Entering the ammo manually into the character sheet ammo fields does not work, as the underlying data used by the APIs to match ammo with weapons is not entered and is not enterable on the sheet - there is no visible field for it.  Sorry, but you will have to manually roll dice and work out AC hit and damage done manually for a few days! Fix ETA:  I have already fixed the issue and pushed the fix to the devs to merge next week - hopefully it will be there by Wednesday, 10th September.
V5.0 Bug Found: Fighting Style Specialism / Mastery error Description of Bug:  If a character is given or buys Specialism or Mastery in a Fighting Style (such as Two Hander Style, Single Weapon Style, Thrown Weapon Style (custom) and the like), then the system might throw a non-fatal error message when the weapons in-hand match the requirements for the Fighting Style. Also, the results of the Fighting Styles are currently one notch more powerful than they should be, when the weapon criteria for the style are met. Workaround:  With the appropriate token selected, the GM should use the  Token-Setup > Add Proficiencies  dialog (or !cmd --add-profs ) and reduce the proficiency of the Fighting Style down by one notch (Mastery to Specialist, Specialist to Proficient - Proficient will always work). Fix ETA: already fixed and should be merged and go live next week, hopefully by Wednesday, 10th September at the same time as the ammunition fix above.  I'll post again here once the fixes have gone live.