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 .
×

[Script] Combat Assistant: Animated Combat, Automated Attacks & Spells, AoE, Concentration Track, Damage & Healing | D&D 2014/2024

1785911519

Edited 1787889912
AmadeusVF
Pro
API Scripter
In the heat of battle... The chamber trembles as Blair the Witch raises her staff. She casts Fireball. Fireball deals 18 fire damage to Eight enemies inside the explosion area. The DM now needs to make eight Dexterity saving throws. Okay. Enemy one succeeds. Enemy two fails. Enemy three… succeeds. Let me move that token so I remember which one it was. Four succeeded and four failed. Two of them have resistance to fire damage. I need to check which two. This resistant enemy succeeded, so that is half damage from the saving throw and then half again from resistance. Eighteen divided by two is nine. Nine divided by two is four, rounded down. I subtract four Hit Points. The other resistant enemy failed, so it takes half damage from resistance. Eighteen divided by two is nine. I subtract nine Hit Points. Three non-resistant enemies failed, so they each take eighteen damage. The other three succeeded, so they each take nine damage. Now I need to open or update six more tokens. Three minutes later... Blair is sitting on a nearby rock, quietly removing splinters from her staff while the DM finishes calculating the consequences of the most dramatic moment of her turn. Introducing Combat Assistant Combat Assistant is a standalone spin-off of T&amp;T – Trinkets &amp; Trackers, designed to make Roll20 combat faster, more visual, and easier to manage for both players and Dungeon Masters. Players can launch attacks, cast spells, apply healing, and control area effects directly from the chat. Combat Assistant handles the calculations, resistances, vulnerabilities, immunities, saving throws, damage interactions, concentration tracking for spells with active area, visual effects, and token updates behind the scenes, while keeping the action moving. How it Works When an attack, spell, healing effect, or damaging ability is rolled, Combat Assistant reads the result directly from the Roll20 chat and generates an interactive action card. Depending on the roll, the card can detect: Attack rolls. Damage and healing formulas. Damage types. Saving throw abilities and DCs. Spell ranges and areas of effect. Concentration requirements. Select the affected tokens and activate the action. Combat Assistant can then: Check whether each attack hits or misses by comparing the Attack Roll against target(s) AC. Roll the required saving throw for every target. Process each creature’s result individually. Detect resistances, vulnerabilities, and immunities. Calculate full, half, doubled, or negated damage. Apply damage, healing, or Temporary Hit Points directly. Track concentration and affected creatures. Generate a detailed combat log explaining each result. Within seconds, every target is processed and the battle continues without opening multiple character sheets or calculating each result manually. What would normally require checking AC, opening character sheets, reviewing defenses, calculating damage, and updating tokens can now be resolved with a single button. About the adventure of Blair the witch and her powerful Fireball... The Combat Assistant Menu Type "!ca menu" in the chat to open the main Combat Assistant menu. From here, you can quickly perform common combat actions to every token selected in the map. The menu includes four main options: DMG: Apply damage to the selected target(s) directly or against the target(s)'s AC or after a Saving Throw Roll. Heal: Restore Hit Points to the selected target(s). Save: Roll a R20 native saving throw for every selected target. Init: Roll R20 native initiative for every selected token and add the results to the Turn Order. Conc: Open a list with all tokens that holds concentration on an AoE spell. Every option works with both single and multiple tokens selected. Select one creature to resolve an individual action or select an entire group to handle them all at once. Combat Assistant processes each token separately, using that creature’s own statistics and defenses whenever applicable.&nbsp; The Combat Assistant Settings Type "!ca config" or press the Gear in the menu Chat Tracking: &nbsp;&nbsp;&nbsp;&nbsp;disable the combat menu when an attack is rolled. 2024 Combat Assistant Rolls Initiative: &nbsp;&nbsp;&nbsp;&nbsp;Use a custom render card to roll initiative for 2024 sheet by reading the sheet modifiers. (this function check if the character has advantage/disadvantage on initiative or any other modifier before roll) 2014 Combat Assistant Rolls: &nbsp;&nbsp;&nbsp;&nbsp; Use a custom render card to roll saving throws and initiative for 2014 sheet by reading the sheet modifiers. (This function ask if the roll is normal/advantage/disadvantage) HP, AC, Temp HP Bar: &nbsp;&nbsp;&nbsp;&nbsp;Select which token bar contains each attribute. This is necessary for NPC tokens because, if no HP or Temporary HP link is found, the script uses these bar settings to update those values. Damage Round Up: &nbsp;&nbsp;&nbsp;&nbsp;Choose whether damage is rounded up or down when halved by resistance or a successful saving throw. Read Sheet Resistances: &nbsp;&nbsp;&nbsp;&nbsp;Allow the script to detect resistances, vulnerabilities, and immunities on the character sheet and apply them automatically when calculating damage. Reveal Damage Source: &nbsp;&nbsp;&nbsp;&nbsp;This shows the source of the damage in the narrative (Ex. From Blair the witch's Fireball ). Reveal Token names in log: &nbsp;&nbsp;&nbsp;&nbsp;This hides token names in the narrative and uses “ Target ” and “ Attacker ” instead. [Reveal Tokens names (OFF)]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [Reveal Damage Source (OFF)] Player Manual Roll: &nbsp;&nbsp;&nbsp;&nbsp;When a player-controlled token must make a saving throw, a button appears for the player to roll it. Animated and Automated Combat for Players. Player Attack Button:&nbsp; &nbsp; When a player rolls an attack, a single use button will appear for the player to select a target and do the attack against the target AC to deal damage. (Player's View) Player Healing Button:&nbsp; &nbsp; When a player uses a healing spell, a single use button will appear for the player to select a target automatically heal the target. Target Range Check:&nbsp; &nbsp; Player Attack and Healing buttons automatically verify the distance between the source and target before executing the action. No more out-of-range attacks or accidental healing. Player Token Area Mark:&nbsp; &nbsp; Casting an area spell creates a movable template of the correct size. Place it on the map and press Roll to automatically resolve saving throws and damage for every creature inside. Radius Cone, Support 15, 30, 45 and 60ft Cube Area Keep Marker Until Rolls Finish: The Area marker disappears after roll every affected token within the area when this is ON, otherwise, it disappears after you press "Roll" (except for Concentration spells). Marker Free Movement: You can freely move the area, or it snaps on Roll20's grids. Square Marker Roll20 URL: Use a Roll20 image URL to assign a custom square marker for AoE spells. The URL must begin with ( <a href="https://files.d20.io/images/" rel="nofollow">https://files.d20.io/images/</a> ...) otherwise, it will not work. Radius Marker Roll20 URL: Use a Roll20 image URL to assign a custom radius marker for AoE spells. The URL must begin with ( <a href="https://files.d20.io/images/" rel="nofollow">https://files.d20.io/images/</a> ... ) otherwise, it will not work. Marker Opacity: define marker opacity when spawns. Combat Visual Effects: Display visual effects for attacks, damage, healing, and spells. Projectile Effect Name: Assign the name of the R20 effect's name to use when a range attack is used. (as missile and rocket can't be used by scripts on roll20 for a while, you can use a custom effect with this configuration) { &nbsp;&nbsp;&nbsp;&nbsp;"additionalEmissionRatePerPixel": 0.35, &nbsp;&nbsp;&nbsp;&nbsp;"additionalSpeedPerPixel": 0.1, &nbsp;&nbsp;&nbsp;&nbsp;"alignParticles": true, &nbsp;&nbsp;&nbsp;&nbsp;"angle": -1, &nbsp;&nbsp;&nbsp;&nbsp;"angleRandom": -0.0, &nbsp;&nbsp;&nbsp;&nbsp;"duration": 12, &nbsp;&nbsp;&nbsp;&nbsp;"emissionRate": 128, &nbsp;&nbsp;&nbsp;&nbsp;"emitRateGradients": [{"factor":1, "gradient":0}, {"factor":0.2, "gradient":0.25}, {"factor":0, "gradient":1}], &nbsp;&nbsp;&nbsp;&nbsp;"emitterSize": 4, &nbsp;&nbsp;&nbsp;&nbsp;"lifeSpan": 11, &nbsp;&nbsp;&nbsp;&nbsp;"lifeSpanRandom": 0, &nbsp;&nbsp;&nbsp;&nbsp;"maxParticles": 1000, &nbsp;&nbsp;&nbsp;&nbsp;"rulerType": "line", &nbsp;&nbsp;&nbsp;&nbsp;"size": 40, &nbsp;&nbsp;&nbsp;&nbsp;"sizeRandom": 20, &nbsp;&nbsp;&nbsp;&nbsp;"speed": 0, &nbsp;&nbsp;&nbsp;&nbsp;"speedRandom": 0 } Name it ProjectileFX , as this is the default name used by the script. You can choose a different name, but you must update it in the settings. Direct Hit Effect Name: Assign the name of the R20 effect's name to use when a target receives damage from a direct impact. Area Hit Effect Name: Assign the name of the R20 effect's name to use when a target receives damage from a AoE impact. Special Features Group healing Healing do not exceed token's max HP Group Damage Spells for NPCs. For a Player-Controlled token, is easier for the script to locate the token in the map and use it as reference to spawn the marker or send a ranged attack because it will be just 1 token of that character in the map, but when an NPC, that shares the same character sheet, cast a spell it is much more complicated as they have the same name and the same sheet, so, the DM can use the button "Source" for spells or "AtkFX" for melee or ranged attacks to select which NPC cast the spell. Concentration on AoE When you cast a spell that has concentration on its description, after roll the damage, it will trigger a concentration information on that token, that token, then can use "!ca conc", to reroll the new damage and re use the "Roll" button again. Same for NPCs When a Token that holds concentration receives damage using Combat Assistant attacks a button will appear to players to roll a constitution ST to hold concentration on the spells, otherwise it will be lost. 2014 Sheet Compatibility When rolling group Saving Throws or Initiative for tokens using the 2014-character sheet, Combat Assistant will display an additional button. Select the 2014-sheet tokens and press that button to request all their rolls at once. Due to limitations with triggering the 2014 sheet’s native rolls directly through the API, the most reliable solution, was to place the required chat command inside a button. It adds one extra click but still avoids rolling for every token individually. For group Saving Throws and Initiative involving both 2014 and 2024 sheets: 2024-sheet tokens roll automatically. For 2014-sheet tokens, it will list all selected 2014 tokens. Press Roll to resolve it. Important!!! To use AoE markers and concentration effects with 2014 spell rolls, you must enable spell descriptions. Otherwise, the script will not be able to read the required information and perform these actions. Above the description text mark the dropdown menu as "Yes" to cast the spell with the description. Also, add the word “Concentration” at the end of the spell’s description if it requires concentration. This allows the script to detect it and apply the concentration effect to the token. This script will be soon available on one click install, meanwhile, you can have it from HERE . You can also follow me for free on Patreon to stay up to date with future scripts and updates.
1785912832

Edited 1786352978
AmadeusVF
Pro
API Scripter
The API sandbox must be set to Experimental mode. I hope you all have as much fun with this as I did. Honestly, coding it, testing the automated attacks, and taking down a few Hobgoblins was incredibly fun to me!&nbsp; (Not a single hobgoblin died during the test. They were all healed afterward, and their memories were erased with a rollback so they wouldn’t develop PTSD.) PS: Let me know if you notice anything I missed so I can fix it.
Amadeus, Have started playing about with us and really enjoying it. To let you know the hp after taking damage now sticks on a reload on exiting and re entering the game which is great news. The lighter red damage text in the log messages is much easier to read. Will all the functions be part of Trinkets and Trackers when updated or will both scripts be required ?
1785975798
AmadeusVF
Pro
API Scripter
FFR said: Amadeus, Have started playing about with us and really enjoying it. :D To let you know the hp after taking damage now sticks on a reload on exiting and re entering the game which is great news. Yes, this time instead of expecting beacon to update the token, I just change both, the character sheet HP and the Token to avoid problems with synchronization. The lighter red damage text in the log messages is much easier to read. Your feedback makes it possible :) Will all the functions be part of Trinkets and Trackers when updated or will both scripts be required ? Yes, all this is included in the new version of T&amp;T
1786182722

Edited 1786182942
Cron
Pro
Wow, very nice work. This replaces 3 or 4 different mods I am using. I am going to try&nbsp;Trinkets and Trackers now. If&nbsp;Combat Assistant is just a taste of that it can do, I am going to be a very happy DM. Bravo! The only idk complaint/suggestion is on the Dmg button you use the word Challenge in the prompt for the DC. I was at a loss what Challenge meant, I thought you were asking the CR of the monster. It took me 2-3 using of damage button to figure it out. It is probably compatibility for multiple games. Just to make it idiot proof I would make it say Challenge/DC. Oh does this have any conflict with&nbsp;Aura/Tint HealthColor?
1786252794
AmadeusVF
Pro
API Scripter
Cron said: Wow, very nice work. This replaces 3 or 4 different mods I am using. I am going to try&nbsp;Trinkets and Trackers now. If&nbsp;Combat Assistant is just a taste of that it can do, I am going to be a very happy DM. Bravo! Thank you for your interest in this! Well, Yes, Combat Assistant is part of the T&amp;T v1.3.8 codebase, but it is not included in the version currently published on Roll20, T&amp;T v1.3.5. So, for now, you should use Combat Assistant alongside T&amp;T v1.3.5 if you want access to everything. T&amp;T also includes an inventory and shop system that you may really like. You can transfer items directly between character sheets, and when a player buys an item from a shop, it is automatically added to their character sheet. In a few weeks I'll do the v1.3.8 release, it will include the full Combat Assistant system, along with a Turn Manager, automatic condition application (Prone, Charmed, Restrained, etc.), Players can select to apply spells effects such as Bless, Guidance, Shield, etc. and a Concentration Tracker with turn counters and automatic removal of effects and conditions from affected tokens when concentration ends. The only idk complaint/suggestion is on the Dmg button you use the word Challenge in the prompt for the DC. I was at a loss what Challenge meant, I thought you were asking the CR of the monster. It took me 2-3 using of damage button to figure it out. It is probably compatibility for multiple games. Just to make it idiot proof I would make it say Challenge/DC. Yeah, that makes sense 😅 Thanks for pointing it out. I used “Challenge” because that same value can mean two different things depending on the Save option. If Save is set to None, it is the Attack Roll used against the target’s AC. If you select an ability save, then it becomes the Save DC. But I can definitely see how “Challenge” can be confusing, especially since it can sound like Challenge Rating. I think I’ll change it to “Attack Roll / Save DC” so it is much clearer what that value is used for. Oh does this have any conflict with Aura/Tint HealthColor? They actually should work pretty well together. Combat Assistant doesn't modify the token's aura or tint, and HealthColors is designed to detect HP changes made by other API scripts, so its health colors should update normally when Combat Assistant applies damage or healing.
Impressed with it so far, very ez to use and as I said replaces other mods I was using. Also, replaces several macros I was using for the mods so that makes things easier too as you have shrank my macro toolbar. I have a question for the Turn Manager your implementing. Is it going to incorporate a feature where players can end their own turn like in the API TurnMarker1? That feature alone saves more time during games then I can count and is not something I would be willing to give up even for additional extra features. If it is going to have that feature and you add an option to change from default status token markers in the future your mod would be a powerhouse game changer for every dm I know as I have already told 4 of them about your Combat Assistant and T&amp;T. Just waiting to get the hang of it myself before I give links to others so I can help them with it if they need any. Your work is greatly appreciated.&nbsp;
1786389100
AmadeusVF
Pro
API Scripter
Cron said: Impressed with it so far, very ez to use and as I said replaces other mods I was using. Also, replaces several macros I was using for the mods so that makes things easier too as you have shrank my macro toolbar. I have a question for the Turn Manager your implementing. Is it going to incorporate a feature where players can end their own turn like in the API TurnMarker1? That feature alone saves more time during games then I can count and is not something I would be willing to give up even for additional extra features. If it is going to have that feature and you add an option to change from default status token markers in the future your mod would be a powerhouse game changer for every dm I know as I have already told 4 of them about your Combat Assistant and T&amp;T. Just waiting to get the hang of it myself before I give links to others so I can help them with it if they need any. Your work is greatly appreciated.&nbsp; Yes, players can end their turn, and you will be able to modify many things, like remove dead npc tokens, and more. And about the token markers: yes, I will include a section where you can choose which markers you want to use. I like to make everything as customizable as possible.
Ah man can't wait! New tools like this, that make the game flow so much better, get me excited to DM. The FX and super ease of use just icing on the cake, but I love how you have damage types do the correct fx.
I have the player manual roll on, but the button is not coming up on the player's side, just my side. How do I make it show on their side so they can roll their own attacks and pick their own targets?
1787887196
AmadeusVF
Pro
API Scripter
drew s. said: I have the player manual roll on, but the button is not coming up on the player's side, just my side. How do I make it show on their side so they can roll their own attacks and pick their own targets? Player Manual Roll is for player to be able to roll when they have to pass a Saving Throw, for Attacks and Healing you should enable Player Attack Button y Player Healing button , if they are enable and they cannot see the buttons could be because the chat monitor has a time waiting for the damage to be roll after the attack roll, when expired, the query is cleared (to avoid fill the state with many unattended queries). if they still cannot see the buttons PM me and if possible, invite me to the game as player to see what's going on.