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

[5e OGL] Return Spell Description vs Spell Roll in chat window

Hi, I'm pretty new to these macro's so apologies if this is a stupid query. I'm using a simple token action macro to list all spells for a monster so I can quickly see my options. So to see both level 2 spells for a Flameskull I run the below, /w gm &%{selected|repeating_spell-2_$0_spell} /w gm &%{selected|repeating_spell-2_$1_spell}  This brings back the spell description for non attack spells, but rolls for the attack spells (with no description). How can I specify to return the spell description only (I can then use another macro to execute the roll with the level cast selector)? 
1507642628

Edited 1507642666
Ok so I understand now that the 'Output' switch in the spell settings changes what gets displayed. So if I manually change OUTPUT to SPELLCARD in the spell settings on the sheet I can get the description that I'm after, but is a way to change this via the macro? That way I can have a button for descriptions and a button for spell attacks?
I'm pretty sure you can only change it with a macro with API which you have to be a Pro subscriber/be in a game created by a Pro subscriber to use. You could make your own spellcard output though by setting the spell output to spellcard and 'rolling' it then go to chat and press the up arrow on your keyboard to get your previous entry which should be the code for that spells spellcard which you can then copy and paste into a macro. It's longer than the method you had tried before but it should work.
You can access the description section of the spell by making a macro for just it. You basicall just need to call the description text out @{selected|repeating_spell-1_$0_spelldescription} will get you the description of the level one spell from slot $0, i.e. the first spell. The macro below will output the entire spell with description as a spell card for spell level 1 slot $0.  /w "@{selected|character_name}" &{template:spell} {{level=@{selected|repeating_spell-1_$0_spellschool} @{selected|repeating_spell-1_$0_spelllevel}}} {{name=@{selected|repeating_spell-1_$0_spellname} [Query]}} {{castingtime=@{selected|repeating_spell-1_$0_spellcastingtime}}} {{range=@{selected|repeating_spell-1_$0_spellrange}}} {{target=@{selected|repeating_spell-1_$0_spelltarget}}} @{selected|repeating_spell-1_$0_spellcomp_v} @{selected|repeating_spell-1_$0_spellcomp_s} {@{selected|repeating_spell-1_$0_spellcomp_m}} {{material=@{selected|repeating_spell-1_$0_spellcomp_materials}}} {{duration=@{selected|repeating_spell-1_$0_spellduration}}} {{description=@{selected|repeating_spell-1_$0_spelldescription} [Cast](~Selected|repeating_spell-1_$0_spell) [Spell List](~selected|Spells)}} {{athigherlevels=@{selected|repeating_spell-1_$0_spellathigherlevels}}} @{selected|repeating_spell-1_$0_spellritual} @{selected|repeating_spell-1_$0_spellconcentration} {{charname=charname}} I set this up to output only to the player using it, so as to not spam the chat. I also added the word Query next tot he spell name so they know it hasn't bee cast yet and I added two buttons in the description, one to cast the spell and the other to access the macro named Spells on the players character. You can skip that part if you don't wish you get too deep into this. It's going to get complicated from here but if you want to go down this rabbit hole you will have a sweet macro for your spell casters that is easy enough to change as they level and adapt to other players, even NPC's now. More to follow...
This is my Spells macro that I put in the Abilities section of my spell caster PCs as a token action. You need to make sure you only have as many lines as you have spells because if you have more it will give you errors because it cannot find the names. /w "@{selected|character_name}" &{template:atk} [[ {{desc=***@{selected|character_name} Spells*** ___________________________ **Cantrips** [@{Selected|repeating_spell-cantrip_$0_spellname}](~Selected|repeating_spell-cantrip_$0_spell) [?](~spellcard0|$0) | [@{Selected|repeating_spell-cantrip_$1_spellname}](~Selected|repeating_spell-cantrip_$1_spell) [?](~spellcard0|$1) | [@{Selected|repeating_spell-cantrip_$2_spellname}](~Selected|repeating_spell-cantrip_$2_spell) [?](~spellcard0|$2) | [@{Selected|repeating_spell-cantrip_$3_spellname}](~Selected|repeating_spell-cantrip_$3_spell) [?](~spellcard0|$3) | [@{Selected|repeating_spell-cantrip_$4_spellname}](~Selected|repeating_spell-cantrip_$4_spell) [?](~spellcard0|$4) | [@{Selected|repeating_spell-cantrip_$5_spellname}](~Selected|repeating_spell-cantrip_$5_spell) [?](~spellcard0|$5) ** 1st Level ([[@{selected|lvl1_slots_total}-@{selected|lvl1_slots_expended}]]/@{selected|lvl1_slots_total}) spell slots** [@{Selected|repeating_spell-1_$0_spellname}](~Selected|repeating_spell-1_$0_spell) [?](~spellcard1|$0) | [@{Selected|repeating_spell-1_$1_spellname}](~Selected|repeating_spell-1_$1_spell) [?](~spellcard1|$1) | [@{Selected|repeating_spell-1_$2_spellname}](~Selected|repeating_spell-1_$2_spell) [?](~spellcard1|$2) | [@{Selected|repeating_spell-1_$3_spellname}](~Selected|repeating_spell-1_$3_spell) [?](~spellcard1|$3) | [@{Selected|repeating_spell-1_$4_spellname}](~Selected|repeating_spell-1_$4_spell) [?](~spellcard1|$4) | [@{Selected|repeating_spell-1_$5_spellname}](~Selected|repeating_spell-1_$5_spell) [?](~spellcard1|$5) **2nd Level ([[@{selected|lvl2_slots_total}-@{selected|lvl2_slots_expended}]]/@{selected|lvl2_slots_total}) spell slots** [@{Selected|repeating_spell-2_$0_spellname}](~Selected|repeating_spell-2_$0_spell) [?](~spellcard2|$0) | [@{Selected|repeating_spell-2_$1_spellname}](~Selected|repeating_spell-2_$1_spell) [?](~spellcard2|$1) | [@{Selected|repeating_spell-2_$2_spellname}](~Selected|repeating_spell-2_$2_spell) [?](~spellcard2|$2) | [@{Selected|repeating_spell-2_$3_spellname}](~Selected|repeating_spell-2_$3_spell) [?](~spellcard2|$3) | [@{Selected|repeating_spell-2_$4_spellname}](~Selected|repeating_spell-2_$4_spell) [?](~spellcard2|$4) **3rd Level ([[@{selected|lvl3_slots_total}-@{selected|lvl3_slots_expended}]]/@{selected|lvl3_slots_total}) spell slots** [@{Selected|repeating_spell-3_$0_spellname}](~Selected|repeating_spell-3_$0_spell) [?](~spellcard3|$0) | [@{Selected|repeating_spell-3_$1_spellname}](~Selected|repeating_spell-3_$1_spell) [?](~spellcard3|$1) | [@{Selected|repeating_spell-3_$2_spellname}](~Selected|repeating_spell-3_$2_spell) [?](~spellcard3|$2) **4th Level ([[@{selected|lvl4_slots_total}-@{selected|lvl4_slots_expended}]]/@{selected|lvl4_slots_total}) spell slots** [@{Selected|repeating_spell-4_$0_spellname}](~Selected|repeating_spell-4_$0_spell) [?](~spellcard4|$0) | [@{Selected|repeating_spell-4_$1_spellname}](~Selected|repeating_spell-4_$1_spell) [?](~spellcard4|$1) | [@{Selected|repeating_spell-4_$2_spellname}](~Selected|repeating_spell-4_$2_spell) [?](~spellcard4|$2) **5th Level ([[@{selected|lvl5_slots_total}-@{selected|lvl5_slots_expended}]]/@{selected|lvl5_slots_total}) spell slots** [@{Selected|repeating_spell-5_$0_spellname}](~Selected|repeating_spell-5_$0_spell) [?](~spellcard5|$0) | [@{Selected|repeating_spell-5_$1_spellname}](~Selected|repeating_spell-5_$1_spell) [?](~spellcard5|$1) | [@{Selected|repeating_spell-5_$2_spellname}](~Selected|repeating_spell-5_$2_spell) [?](~spellcard5|$2) | [@{Selected|repeating_spell-5_$3_spellname}](~Selected|repeating_spell-5_$3_spell) [?](~spellcard5|$3) **6th Level ([[@{selected|lvl6_slots_total}-@{selected|lvl6_slots_expended}]]/@{selected|lvl6_slots_total}) spell slots** [@{Selected|repeating_spell-6_$0_spellname}](~Selected|repeating_spell-6_$0_spell) [?](~spellcard6|$0) | [@{Selected|repeating_spell-6_$1_spellname}](~Selected|repeating_spell-6_$1_spell) [?](~spellcard6|$1) }} This in one goes up to 6th level spells but you can adjust it as needed per player. The real trick here are the calls for the descriptions. See the [?](~spellcard0|$0) it is looking for a character named spellcard0 and calling the macro named $0 on that sheet. Those are the cantrips.  You will need to make 9 new characters each with at least 10 macros on them. Create characters named spellcard0 ; spellcard1; spellcard2; spellcard3 ; spellcard4 ; spellcard5 ; spellcard6 ; spellcard7 ; spellcard8 ; spellcard9 and create macros on each of them named  $0; $1; $2 ; $3 ; $4 ; $5 ; $6 ; $7 ; $8 ; $9 ; $10 that will hold the spell cards call for up 10 spells per level. Which should be enough for any character but if you need more add more. In the previous post is the basic code for each spell and slot. Here is a picture of spellcard1's sheet to give you an idea. Here is spellcard for the cantrip in slot 2 /w "@{selected|character_name}" &{template:spell} {{level=@{selected|repeating_spell-cantrip_$1_spellschool} @{selected|repeating_spell-cantrip_$1_spelllevel}}} {{name=@{selected|repeating_spell-cantrip_$1_spellname} [Query]}} {{castingtime=@{selected|repeating_spell-cantrip_$1_spellcastingtime}}} {{range=@{selected|repeating_spell-cantrip_$1_spellrange}}} {{target=@{selected|repeating_spell-cantrip_$1_spelltarget}}} @{selected|repeating_spell-cantrip_$1_spellcomp_v} @{selected|repeating_spell-cantrip_$1_spellcomp_s} {@{selected|repeating_spell-cantrip_$1_spellcomp_m}} {{material=@{selected|repeating_spell-cantrip_$1_spellcomp_materials}}} {{duration=@{selected|repeating_spell-cantrip_$1_spellduration}}} {{description=@{selected|repeating_spell-cantrip_$1_spelldescription} [Cast](~Selected|repeating_spell-cantrip_$1_spell) [Spell List](~selected|Spells)}} {{athigherlevels=@{selected|repeating_spell-cantrip_$1_spellathigherlevels}}} @{selected|repeating_spell-cantrip_$1_spellritual} @{selected|repeating_spell-cantrip_$1_spellconcentration} {{charname=charname}} It's a bit of work to make all the macros but it is worth it. Good luck and happy rolling Ed
Ed S. you're a legend! This is exactly what I was after and more! Thanks for taking the time to explain how it works too, it's helped me understand where I was going wrong.
Glad I could help, if you have any trouble don't be afraid to ask.