Latest RPGMaster news... 17th October 2023, v2.3.0 Release v2.3 now live! Welcome to version 2.3 of the RPGMaster Suite of APIs for Roll20. Meet all types of Chromatic & Metalic Dragons in the Drag & Drop stable, and families of Giants too! Lots of goodies, but not many have visible images for me to paint in this release note - you'll just have to play them for yourselves! New creatures, with powers, weapons, classes and effects A number of new Drag & Drop creatures have been added, including many Giants, Metalic & Chromatic Dragons, Winter Wolves, Centaurs, Ropers, Hell Hounds and Titans, along with all their powers, weapons and spell-casting abilities. See the post here for the current full list of Drag & Drop creatures. New RaceData attributes Mainly to support Drag & Drop dragons, new attributes have been added to RaceData specifications: Age, Magic resistance, and Spell Speed Override (e.g. dragons always cast spells at 1 segment). The Age attribute takes the form text:# , with the text version of the age being displayed in the Age field of the character sheet (this can of course just be the numeric age). The # is used in maths to affect other attributes and use of powers & spells. See the Class & Race Database Help handout for details. Drag & Drop Creature 'Query' Attribute A new drag & drop creature RaceData 'query' attribute has been created that adds an extra level of query to Drag & Drop creature selection and returns variables based on the selection. This is used, for instance, when Dragging & Dropping a Dragon to ask the GM for its age, which affects many of the attributes & powers of the Dragon. See the Class & Race Database Help handout for more information. Maths Evaluator for Drag & Drop Creature Attributes A new maths evaluation function has been added to support new race 'query' variables. It is not possible to use the Roll20 chat maths for various reasons when specifying creature attributes that are dependent on the values returned by the new 'query' attribute described above, so a new simple maths evaluator has been added to the APIs to support the likes of Dragon age variation. See the Class & Race Database Help handout for more information. Random Spells for Spell-casting Drag & Drop creatures It has been possible to specify spellbooks for Drag & Drop creatures that can cast spells for some time. However, it is now possible to add random spells (randomly selected and added to the spell book at creation) to the spell book. Just put the word "random" in as a spell name when specifying a spell book in the Drag & Drop creature specification e.g. [cl:MU,lv:2,w:random|random|random] would add three random spells to the creature's 2nd level spell book. As always, see the Class & Race Database Help handout for more information Drag & Drop Auto-Memorisation of Spells as well as Powers Drag & Drop creature Powers have always automatically been memorised. It is now the case that any spell-casting Drag & Drop creatures will memorise random sets of spells from their spell-books at each level appropriate to their casting capabilities. Priests always have all spells for their allowed spheres available for memorising and random spells will be selected from these as appropriate. But wizard classes may or may not have spell-books specified. If a Drag & Drop creature has a wizard casting level but no spells specified for their spell-books (using the [cl:MU,lv:#,w:...|...|...] syntax), the APIs will automatically randomly memorise valid spells appropriate to each valid spell casting level from all valid spells, and add these memorised spells to the creature's spell books. Of course, in the case of both Priest and Wizard classes, the GM can adjust the spells in the spell-books using the appropriate button on the GM's [Token Setup] dialog, and memorise different spells from the spell-book using the Spells Menu > Memorise Spells dialog. 'specmu' ClassData Attribute The new 'specmu' ClassData attribute flags this class is to be specmu:1 or not be specmu:0 a specialist Wizard class. Defaults to 1 for new classes of Wizard, meaning they can memorise an additional spell per spell level in their specialist school. Multiple Effect Instances To date, it has been possible to only simultaneously run multiple copies of the same Effect by adding a Differentiator to the called Effect name (see RoundMaster API Help handout for details). Invoking any Effect more than once using !rounds --target or !rounds --addstatus or any related command would overwrite, extend or otherwise change the duration and direction of the Effect, depending on the 'operator' preceding the Effect duration (+,-,<,>,=). A new operator is now allowed: '#'. Specifying a duration such as #5 will spawn a new Status of the same name with duration of 5 rounds, apply any Effect-start specification again, invoke Effect-turn multiply each round, and invoke Effect-end as each instance of the Effect ends. An example of this use is the Roper Strand - multiple Roper Strand hits can affect the victim's Strength score at the same time. Item-Specific Spell Lists To date, specific spell book entries for spell-storing magic items were not allocated specifically to the item they were stored in: if two items had the same spell stored, and one of those spells had not yet been cast, either item could cast the remaining available spell which could cause issues and invalid game play. Spells are now tied to the item they are stored on even if the same spell is stored on two or more items. This approach has always been the case for items with powers - spells now use the same storing mechanism. However, backwards compatibility has been retained for use of legacy items and items already "owned" by characters. New !magic --change-attr Maths Operators The MagicMaster API command --change-attr can be used in Effects and the chat window to adjust the value of a character's attribute by a +/- amount. This takes account of strength 18 percentages (which will actually work on any attribute, though this is not strictly valid for 2e). Now, in addition you can use a '*' for multiply and '/' for divide to adjust the attribute by a specified factor. Several examples of this use can be seen in the Effects-DB. Multiple Bug Fixes The following bugs have been fixed Fixed bug that prevented '-turn' effects working under some circumstances Fixed two-weapon attack speeds where one weapon has less than one attack per round. Fixed calculation of non-proficient weapon penalties set for classes & races. Fixed checking valid spells & valid powers which would show invalid spells/powers as valid under some circumstances. Fixed character level of creature that has both HD & caster level. Fixed save mods due to some magic items not being correctly applied. Several small database data fixes. Improved setAttr() error handling. The RPGMaster Series of APIs is... RPGMaster RPGMaster series for AD&D2e is now available by the One-Click install. You can find information on RoundMaster, InitMaster, AttackMaster, MagicMaster, CommandMaster and the RPGMaster Library on the RPGMaster Wiki page, which includes introductory videos on use, and links to the Wiki pages for each individual API. RoundMaster extends the functionality of the t Turn Tracker capability. Based on the old TrackerJacker API, extended to support Effect Macros triggered when statuses are added, exist on, or are removed from tokens. Effect Macros are user programmable and can do anything Roll20 or added APIs can do. InitMaster supports initiative for RPGs (initially only AD&D 2e) using RoundMaster, and manages issues like multiple Turn Order entries for multiple attacks per round, dealing with the effects of spells like Haste and Slow on initiative, action speeds for many different weapons, magic items and other actions, plus many other features . AttackMaster provides functions to manage weapons, armour & shields, including taking weapons in hand and using them to attack. It uses standard AD&D 2e rules to the full extent. MagicMaster provides functions to manage all types of magic, including Wizard & Priest spell use and effects; Character, NPC & Monster Powers; and discovery, looting, use and cursing of Magic Items. CommandMaster manages the initialisation of a Campaign to use the RPGMaster APIs, communication and command syntax updates between the APIs and, most importantly for the DM , easy menu-driven setup of Tokens and Character Sheets to work with the APIs. RPGMaster Library provides all the data and processing for a specific version of an RPG. As of now, there is only one version, for AD&D2e. New versions might appear at unpredictable intervals in the future (but the author plays AD&D2e so he did this one first!). These APIs currently are focused on supporting AD&D 2E game-play, although RoundMaster can be used more widely. If you have any questions, thoughts or ideas (or bug reports...), please post them on this thread.