
This is a massive overhaul of my Condefinition script. I have rewritten it to make configuration possible from inside the game itself, by editing a handout. It now supports both Classic and Jumpgate, the 2014 and 2024 sheets, and the 2014 and 2024 rulesets regarding conditions. Now Available through One-Click. [ Demo Video ]
Condefinition What it does Condefinition reads incoming roll templates and looks for imposed conditions and saving throws. It display a button(s) in chat that allow you to quickly apply a corresponding token marker, define the condition, track concentration, roll saving throws and/or apply damage from spells or effects that are triggered by saving throws. If the roll template contains a saving throw, it gives a button for the saving throw. Press the button and click on a target to have it roll the appropriate save. If you have GroupCheck installed, it will run a groupcheck save. If you have Apply Damage installed, it will run through the steps to do a save and apply damage. If the roll template contains an imposed condition, it will create a button to define the condition. If there is a cross reference in the definition of the condition, it will create an inline link. You can also hover over the button for the text. You can use this button to whisper the text to yourself, or broadcast to the players. You can also toggle that condition on any selected tokens. Assigning token markers requires installing TokenMod , and for greater facility, LibTokenMarkers . It comes with the default Status Markers assigned, but the script creates a configuration handout that can be edited to use custom token markers. Instructions are included later in this handout. If you installed this Mod using Roll20 One-Click, it should automatically install GroupCheck , TokenMod , and LibTokenMarkers if they are not already present. Apply Damage needs to be installed manually if you want its functionality. Besides the official conditions, this also tracks mentions in chat for many common features that benefit from markers, such as raging, using Hunter's Mark, Hexblade's Curse and more. Each of these has buttons to toggle or define the effect. The marker for the Concentrating condition also tracks concentration, and prompts for a Constitution Saving Throw when the token takes damage. See below for details. This script has been written to work on Classic or Jumpgate, and with the 2014 and/or 2024 sheets for 5e D&D. A dedicated user could probably adapt this for other sheets, but you would need to install the code manually. Contact me for guidance if you need it, but you will need a decent understanding of JavaScript. What it can't do Currently, there are some limitations: This is built for GMs to facilitate running NPCs. Although most of the functions will work with PCs as well, and buttons should display for any player whose actions generate them, not every bit of it is player-accessible The conditions are matched to tokens and their markers, not character sheets. This is the intended behavior as each instance of a goblin (for example) can have its own imposed conditions. I have tried to catch every variation of condition wording, but I have probably missed a few incidences, particularly in products which do not adhere well to the WotC style. In this iteration, all buttons and definitions are whispered to the controller of the NPC, typically the GM. If there is interest, I may change this to obey the whisper settings of the NPC, but I did not want to spam the chat. Helper Scripts Required: Token-mod , libTokenMarkers Improved by: GroupCheck , Apply Damage Operation Buttons Every time a condition is implied by something in a chat roll template, or if the report function is used on a selected token, the script produces a button. Each button has three parts. The middle, largest part of the button will send a message tot he GM in chat, that defines the condition. Sometimes, this will have links to other conditions that the condition imposes. Such as an Unconscious character is also Incapacitated . The left side of the button has a word balloon graphic. This also send the definition to chat, but in this case, it is visible to all players. The right hand side of the button shows the marker associated with that condition. It will toggle the marker for any and all selected tokens. List All Common Condition Definitions Condefinition can produce a reference palette of all official condition buttons. Type !condef-all to display the report. Note that the script tracks more markers than this, such as "Raging", or "Marked". These are just the official conditions defined by the rules. Concentration Condefintion will monitor if the token taking damage has a defined concentration marker on it. If you reduce the hit point bar of a concentrating token, the script will prompt you to make the appropriate Constitution save. Example. "Morrigan" just took 30 hp of damage while concentrating on a spell. The Script notes that the concentration marker was active, calculates the saving throw and produces a button that will cause the selected token to roll a saving throw. Note: In order to make this script work with both the 2014 and 2024 sheets, the Group Check mod is required and configured for your sheet(s). If you installed Condefinition via Roll20 One Click, it should have installed all helper scripts automatically. See the first section of this handout for more details. Report Condefintion also allows you to select any number of tokens and run !condef-report . The script produces a set of report buttons for each selected token that has a defined condition marker on it. In this case, the sub-buttons that toggle token markers will only affect the respective token, and that token does not need to be selected. Automation of Abilities that Force Saving Throws This feature requires both Group Check , and the manually installed script Apply Damage in order to function. It also requires that the spell or feature of a creature is sent to chat with the Description turned on. In some cases this requires rolling damage or clicking the roll template button that shows the spell description. There are too many sheet variables to account for here, but in short, the keywords needed in order to trigger the script must have been sent to chat. The button produced is very similar to the concentration check button. In this case, the left half will roll a saving throw for all selected tokens. If you have Apply Damage installed, it will also walk you through the steps necessary to resolve the roll and apply damage accordingly. Note that this function will work on a combination of selected 2014 and 2024 tokens. Configuration Out of the box, this script will support conditions defined by both the 2014 and 2024 rule sets. It also can switch between the default token markers or my own Easy to Read token markers. This latter is entirely for my own convenience, and they are not required in any way for the script to function. The Condefinitions Handout Type !condef-help or !condef-config in chat to call up the configuration controls. Condefinition uses a lot of Regular Expressions (search code) to find and apply token markers and definitions. It reads these from a handout called Condefinitions. You can edit this handout manually. It has all of the code needed to define the conditions wrapped in a code block. You can edit the names, the definitions, the search code and the name of the corresponding token marker. The edited text must be clean plain text wrapped in code tags using the Code style button in the editor. Most users will only need to change the name of the token marker to match their chosen set. If you don't feel comfortable editing the other code, or do so and make a mistake which breaks the handout, you can reset to the default using the buttons in the configuration panel. The script contains defaults for the 2014 and 2024 rule sets, using the default token markers provided by Roll20. I original wrote this script using my own Marketplace set, so if you have installed my "Easy to Read Token Markers" set, then there are also buttons that set defaults for those. This Marketplace set is honestly for my own convenience, and the script does not require this set in any way. Each Condefintion definition is four lines long, and separated by an empty line. Line 1 is the name of the condition Line 2 is the Regular Expression (REGEX) used to trigger the operation of the script. It's a list of search terms that match condition and effect names. If you are not familiar with REGEX, just leave that line alone and you should be fine. Line 3 is the definition of the condition or effect.. This must all be on one line, and can accept simple html styling. Line 4 is the name of the associated token marker. After editing and saving the configuration document, you must press the "Update Conditions" button in the chat configuration controls. This will apply the conditions immediately. It is strongly advised that if you do make home brew changes, you duplicate the Condefinitions Handout to use as a backup . the controls can "reset to factory specs", but they cannot undo breaking changes. If you create a configuration that uses a marketplace set of Token Markers that you prefer, feel free to share with others. It can be copied and pasted between games, so long as you are careful to paste clean text only (hold down the shift key while pasting, or copy from a plain text editor), and wrap the whole thing in the "Code" style.