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

Macro for spells and higher levels

Hi I dont have a Pro account so cant do scripts. I am trying to create a macro that asks for the spell and then whether you want to cast at a higher level. For example, fireball at 5th level, returning the spell range, saving throw (e.g. DC 17) and damage (eg. 28 fire damage) including the higher level damage. I have created a query asking for the spell (see below) but I would like to use a template (eg &{template:default}) and a second query for the high level. Simple spell query ?{Spell|    Fireball, **Fireball** Spell attack for [[8d8=6]] fire damage |     Ray of frost, **Ray of frost** Range (60 ft) attack for [[1d20]] to hit for [[2d8]] cold damage and its speed is reduced by 10 feet until the start of your next turn} Higher level query ?{Cast at what level?|Level 2,2|Level 3,3|Level 4,4|Level 5,5|Level 6,6|Level 7,7|Level 8,8|Level 9,9} In essence, I am looking to ask for two queries and return as shown below. I appreciate your help             
This is already on the page for your spells. Open the cog wheel and edit the spell to do the extra damage at higher levels as some of them aren't set up this way by default. Make sure you check the box to attack and not the spellcard! Set up the spell to roll the dice you want for damage and set up the saving throws if any. Save and exit.  You will have to make the spell query for the actual spells on your character list but not the second one where it asks for your level. Remember some spells can only be cast at higher levels and will start from there.
1586700493

Edited 1586726302
That does the trick, not as pretty as I would hope though. There are a few spells that wont work, in particular those who have level progression. Some spells like firebolt, spiritual weapon or scorching ray will return incorrect damage at higher levels. Edit: Issue solved (see 3 comments below) Also the query I was using for spells wont work. I had to use something like the one in the video (see link below). It is time consuming but looks dope (see last image). Please let me know if anybody has a way to create a spell query that does the same in less time. <a href="https://www.youtube.com/watch?v=jOHTwC8lNOs" rel="nofollow">https://www.youtube.com/watch?v=jOHTwC8lNOs</a> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Update: browsing throughout the forums I found some nice macros that solve most what I was looking when calling spells Spell book (change wisdom_mod to your character spellcasting modifier and NPC to your character's name /w "@{selected|character_name}" &amp;{template:default} {{name=Spells}}{{Spell Save DC= [[8+@{selected|wisdom_mod}+@{selected|pb}]]}}{{Spell Attack Bonus=[[@{selected|wisdom_mod}+@{selected|pb}]]}}{{Spell Levels= [Cantrip](!&amp;#13;&amp;#37;{NPC&amp;#124;CA&amp;#125;)[Level 1](!&amp;#13;&amp;#37;{NPC&amp;#124;L1&amp;#125;) [Level 2](!&amp;#13;&amp;#37;{NPC&amp;#124;L2&amp;#125;) }} Cantrips /w "@{selected|character_name}" &amp;{template:default}{{name=Cantrips}}{{Spell Slots Total/Remaining=**@{selected|lvl1_slots_total}**/**@{selected|lvl1_slots_expended}**}}{{Spell= [@{Selected|repeating_spell-cantrip_$0_spellname}](~Selected|repeating_spell-cantrip_$0_spell) [@{Selected|repeating_spell-cantrip_$1_spellname}](~Selected|repeating_spell-cantrip_$1_spell) [@{Selected|repeating_spell-cantrip_$2_spellname}](~Selected|repeating_spell-cantrip_$2_spell)[@{Selected|repeating_spell-cantrip_$3_spellname}](~Selected|repeating_spell-cantrip_$3_spell)[@{Selected|repeating_spell-cantrip_$4_spellname}](~Selected|repeating_spell-cantrip_$4_spell) }} 1st level /w "@{selected|character_name}" &amp;{template:default}{{name=Level 1}}{{Spell Slots Total/Remaining=**@{selected|lvl1_slots_total}**/**@{selected|lvl1_slots_expended}**}}{{Spell= [@{Selected|repeating_spell-1_$0_spellname}](~Selected|repeating_spell-1_$0_spell) [@{Selected|repeating_spell-1_$1_spellname}](~Selected|repeating_spell-1_$1_spell) [@{Selected|repeating_spell-1_$2_spellname}](~Selected|repeating_spell-1_$2_spell) [@{Selected|repeating_spell-1_$3_spellname}](~Selected|repeating_spell-1_$3_spell)[@{Selected|repeating_spell-1_$4_spellname}](~Selected|repeating_spell-1_$4_spell)[@{Selected|repeating_spell-1_$5_spellname}](~Selected|repeating_spell-1_$5_spell) }} Add/remove lines within each spell level according to your character known spells.
1586706764
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Daniel A. said: That does the trick, not as pretty as I would hope though. There are a few spells that wont work, in particular those who have level progression. Some spells like firebolt, spiritual weapon or scorching ray will return incorrect damage at higher levels. I use Fire Bolt as written with a drag and drop on a lot of characters. What about the higher level damage is incorrect? Can you clarify with an example?
Example "Fire bolt" Text states This spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10) For almost any damage cantrip, the damage results is not returned. I changed the 'Output' to ATTACK and make sure it indicates "Cantrip dice" but this does nothing. I added a formula to the description that calculates the damage based on the level. [[((@{level} + 1) / 6 + 0.5)d10]]
1586718973

Edited 1586719052
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
It looks like you have "Auto Damage Roll" turned off. If you click the word "Fire Bolt" in the spell output, it will display the correct damage. You can have this automated by turning the option on in your character sheet's settings tab, or make it a campaign wide setting by setting it in your Game's Steeings page, then Applying the settings to existing content by using the button near the bottom of the in-game settings tab. Setting: Output (no customization):