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

[3.5D&D] Spells query roll macro

1516263018

Edited 1516263154
Hi there, i'm a new suscriber and currently discovering the power of macros. I'm not a developper or anything&nbsp; and must learn everything from scratch. (also i should add that english is not my native language). Thankfully, the community here is really helpful and i've learned a lot with videos or this forum. Sadly, i'm totally stuck on this matter : i'm trying to set a roll query so that a PC could select one of his spells from a list (or maybe even from a table in the chat window, but i'll see this one later). I've seen another thread on this subject but can't get a solution. The query works, i can see the spells. But when i select a spell, i get a BIG error message in chat, saying that no attribute was found for the selected token. Also my chat window is so screwed after the macro, that i have to erase permanently its history in my game's settings to repair it. Here is my roll query macro (only two spells from the arcana level 0,&nbsp; just to check the macro) : ?{choose a spell | @{repeating_spells02_$0_spellname02}, @{repeating_spells02_$0_spellmacro02} | @{repeating_spells02_$1_spellname02}, @{repeating_spells02_$1_spellmacro02} } and here is the macro of the first spell that i choose and that doesn't work: &{template:DnD35StdRoll} &{template:DnD35StdRoll} {{spellflag=true}} {{name=@{selected}character_name} }} {{subtags=casts [Detect Magic]( <a href="http://www.dandwiki.com/wiki/SRD:Detect_Magic" rel="nofollow">http://www.dandwiki.com/wiki/SRD:Detect_Magic</a> ) }} {{School:=Div}} {{Level:= Brd 0, Clr 0, Drd 0, Sor/Wiz 0}} {{Comp:=V&#44 S}} {{Cast Time:= 1 std action}} {{Range:= 60 ft }} {{Area:= Cone-shaped emanation}} {{Dur:= Concentration&#44 up to [[@{selected}casterlevel2}]] minute(s) (D)}} {{Save:= None }} {{SR:= No }} {{School:=Div}} {{Level:= Brd 0, Clr 0, Drd 0, Sor/Wiz 0}} {{Comp:=V&#44 S}} {{Cast Time:= 1 std action}} {{Range:= 60 ft }} {{Area:= Cone-shaped emanation}} {{Dur:= Concentration&#44 up to [[@{selected|casterlevel2}]] minute(s) (D)}} {{Save:= None }} {{SR:= No }} Help me Obi Wan, you're my only hope !
1516267990

Edited 1516268298
Ziechael
Forum Champion
Sheet Author
API Scripter
The good news is that it is totally doable, the bad is that you have to kind of hack the system... to work purely from the query you'd need to replace every offending instance of a '}', ',' and '|' from your subsequent macro, I can see you'd started that process by replacing the commas in the Components and Duration section. You'll also need to do that for the }} at the end of each section (using }) as well as the one at the beginning where the template is defined. You also call the template twice... not sure that is an issue as I've never tried it but not necessary either way. There are also a couple of instances where you use the @{selected... sytax (which will not require html replacements) but use a } instead of a | between the selected and attribute call, likely resulting in your 'no attribute' error. Here is the spell as it would need to be to interact with a query based menu, however it won't work when rolling straight for the sheet as it won't parse the html in time to form the template: &{template:DnD35StdRoll &amp;#125; &nbsp;{{spellflag=true &amp;#125; &amp;#125; {{name=@{selected | character_name} &amp;#125; &amp;#125; {{subtags=casts [Detect Magic]( <a href="http://www.dandwiki.com/wiki/SRD:Detect_Magic" rel="nofollow">http://www.dandwiki.com/wiki/SRD:Detect_Magic</a> ) &amp;#125; &amp;#125; {{School:=Div &amp;#125; &amp;#125; {{Level:= Brd 0 &amp;#44; Clr 0 &amp;#44; Drd 0 &amp;#44; Sor/Wiz 0 &amp;#125; &amp;#125; {{Comp:=V &amp;#44; S &amp;#125; &amp;#125; {{Cast Time:= 1 std action &amp;#125; &amp;#125; {{Range:= 60 ft&nbsp; &amp;#125; &amp;#125; {{Area:= Cone-shaped emanation &amp;#125; &amp;#125; {{Dur:= Concentration &amp;#44; up to [[@{selected | casterlevel2}]] minute(s) (D) &amp;#125; &amp;#125; {{Save:= None &amp;#125; &amp;#125; {{SR:= No &amp;#125; &amp;#125;
1516269294
Ziechael
Forum Champion
Sheet Author
API Scripter
For full details on this process check out the following&nbsp; section of the wiki . I handle my 3.5e games spells using a query but I have the spells set up as individual macros that the query creates a 'casting button' for in chat. This allows me to use them throughout the game for various casters without having to hardcode it into the sheet but does mean I have to create custom manual spell menus :( My method however (archaic now that I know better but too late to fix lol) does mean that creating a macro in the collection tab that contains html entities has the knock on effect that I can NEVER open that macro for editing again or it will parse the html and i'll have to copy it back in from my external spell macro list... not a huge issue but a pain as my macros evolve regularly! My recommendation would be to create a character journal called 'Spells' which would have MANY abilities set up on it, each ability would be a spell with the html replacements as character sheets don't parse html when edited. You could then call those by using ?{Spell to cast|Detect Magic,%{Spells|Detect-Magic}|Spell 2,%{Spells|Spell-2}|... etc etc... } You can even break it down into spell level if you wanna get further down the rabbit hole: ?{Spell Level|0,?{Spell to cast&amp;#124;Detect Magic&amp;#44;%{Spells|Detect-Magic}&amp;#124;Spell 2&amp;#44;%{Spells|Spell-2}&amp;#124;... etc etc... &amp;#125;|1,?{Spell to cast&amp;#124;Magic Missile&amp;#44;%{Spells|Magic-Missile}&amp;#124;Level 1 Spell 2&amp;#44;%{Spells|Level-1-Spell-2}&amp;#124;... etc etc... &amp;#125; }
1516269474
Ziechael
Forum Champion
Sheet Author
API Scripter
The further advantage of doing it using a journal for Spells is that you can easily move that sheet between games for use anywhere!
Hey Ziechael, thank you for these quick and precise answers !! First of all, i did replace the } and so with the codes you talked of in my initial spell macro. But when i put the macro in my post, the characters were back to normal. I guess the commas weren't replaced for some reason. Anyway you are right, i did a few mistakes in the macro. BUT i tried to replace the spell macro with yours, and it still didn't work when i launched the roll query macro. I got this message : No character was found for 'selected|casterlevel2}]] minute(s) (D)}} {{Save:= None }} {{SR:= No }} '&nbsp; I'm confused because i selected the right token and i don't see why it couldn't find the character. The casterlevel2 entry is filled too (i put "1"). It's not so bad because i could use your other solution which seems pretty cool to me. But i'm not sure to fully understand what you meant (i guess my english isn't so good) so i could use more explanations. - i like the idea of spell menu with buttons for each spell in the chat menu, but i guess from what you said it's not really convenient. I do already have external macros for all the macros i made. I'm a bit cautious and wanted to be sure i could get back the original macros if needed. It's also convenient because i did have one instance where i modified the }, commas and such but after modifying the macro in the sheet later, the } and such went back to their previous state. So i figured it was easiest to copy all my macros on external text files : then i work only on these files and only have to copy this external macro on the sheet when it's ready. But like you said, it's not really a perfect solution. - i guess i could work with your character journal solution. But what do you mean by that exactly ? (all the tabs and settings are in french on my roll20, unfortunately). Is it a new character sheet with only spells on the abilities tab, or is it a "game document" (i'm not sure of the english word for it on roll20)&nbsp; that is filled with spells that all players could see ? i don't really understand where these spells macros would be located, and if they are abilities on a sheet, how you could then call them from another sheet ? Also, where do you type the&nbsp;?{Spell to cast|Detect Magic,%{Spells|Detect-Magic}|Spell 2,%{Spells|Spell-2}| macro ? would it be an ability on another spellcaster sheet, then ?&nbsp; Also, my initial idea was to prepare some quick ways for my spellcasters to choose a spell from a spell level, so yes, i would break down the call macro in several spells levels. Is it safe to write such a long macro ? It would be REALLY long if it had to call every arcane spells , for example. Last but not least, i saw in another old post that a compendium for 3.5 was discussed. Is this a working project ? I would love to see such a compendium (i really prefer 3.5 to Pathfinder or 5th edition) and i guess a lot of players must have a lot of informations in their 3.5 campaigns on roll20. I could contribute to it myself because my goal is to play the lancedragon campaign on roll20 with my friends. In doing so i intend to create all the monsters sheets i need, (and the spells also) and could add them in the compendium if they're not there already. From what i gathered, only a google doc by Diana P exist, and it contains only a few levels of spells, not monsters.&nbsp; Thanks again for all your advices :)
1516292611

Edited 1516292670
Ziechael
Forum Champion
Sheet Author
API Scripter
Palanthis said: BUT i tried to replace the spell macro with yours, and it still didn't work when i launched the roll query macro. I got this message : No character was found for 'selected|casterlevel2}]] minute(s) (D)}} {{Save:= None }} {{SR:= No }} '&nbsp; When you get something like that it usually means that the syntax has broken somewhere, that looks like a rogue } has ended the query early and prompted the system to look for an attribute that is the last section of the spell. It worked fine for me in testing so all I can suggest is make sure that all the html replacements are in place and intact. Palanthis said: It's not so bad because i could use your other solution which seems pretty cool to me. But i'm not sure to fully understand what you meant (i guess my english isn't so good) so i could use more explanations. ...So i figured it was easiest to copy all my macros on external text files Your English is excellent, far better than my &lt;insert your native language here&gt;! And yes, I always advise keeping external versions of your macros for editing and those 'just in case' moments, one accidental click could ruin a LOT of work in the app. Palanthis said: - i guess i could work with your character journal solution. But what do you mean by that exactly ? (all the tabs and settings are in french on my roll20, unfortunately). Is it a new character sheet with only spells on the abilities tab, or is it a "game document" (i'm not sure of the english word for it on roll20)&nbsp; that is filled with spells that all players could see ? i don't really understand where these spells macros would be located, and if they are abilities on a sheet, how you could then call them from another sheet ? Also, where do you type the&nbsp;?{Spell to cast|Detect Magic,%{Spells|Detect-Magic}|Spell 2,%{Spells|Spell-2}| macro ? would it be an ability on another spellcaster sheet, then ?&nbsp; The abilities section of a journal is the last of the 3 tabs (Bio, Character Sheet, Attributes and Abilities) that all journals have (unless no character sheet was selected at start up...). In there you can add abilities that can be called using the % syntax over the # macro syntax. As long as you know the sheets name to use you can call any sheets abilities from the chat using that method so yes, you would set all the spells up in one sheet but reference them with an ability set up on a casters sheet using a macro along the lines of the ?{Spell to cast|Detect Magic,%{Spells|Detect-Magic}|Spell 2,%{Spells|Spell-2} etc etc macro. The tedious bit would be creating the list of spell options for divine casters who simply have too many options lol. Palanthis said: Also, my initial idea was to prepare some quick ways for my spellcasters to choose a spell from a spell level, so yes, i would break down the call macro in several spells levels. Is it safe to write such a long macro ? It would be REALLY long if it had to call every arcane spells , for example. Arcane isn't too bad since you'd only need to code, and write a query to call, the spells known by those caster classes which is limited to a small number per level... unless your wizard takes years out to buy and scribe every scroll into a load of spell books! But yes, the list can get quite long... here is one of my players, a druid, casting list. The key to it is to ask them to tell you which of the many options they are likely to use and only code them into the query (again note that my query is slightly different since it calls universal macros via a button sent to the chat rather than directly from a character sheet... I should fix that one day but they are level 16+ now and its a lot to deal with!!): /w "@{selected|character_name}" ?{What Level| 0,?{Spell&amp;#124; Create Water&amp;#44;[Create Water](!&amp;#13;#createwater)&amp;#124; Cure Minor Wounds&amp;#44;[Cure Minor Wounds](!&amp;#13;#cureminorwounds)&amp;#124; Detect Magic&amp;#44;[Detect Magic](!&amp;#13;#detectmagic)&amp;#124; Flare&amp;#44;[Flare](!&amp;#13;#flare)&amp;#124; Know Direction&amp;#44;[Know Direction](!&amp;#13;#knowdirection)&amp;#124; Light&amp;#44;[Light](!&amp;#13;#light)&amp;#124; Mending&amp;#44;[Mending](!&amp;#13;#mending)&amp;#124; Read Magic&amp;#44;[Read Magic](!&amp;#13;#readmagic)&amp;#124; Resistance&amp;#44;[Resistance](!&amp;#13;#resistance)&amp;#125;| 1,?{Spell&amp;#124; Aspect of the Wolf&amp;#44;[Aspect of the Wolf](!&amp;#13;#aspectofthewolf)&amp;#124; Aura Against Flame&amp;#44;[Aura Against Flame](!&amp;#13;#auraagainstflame)&amp;#124; Calm Animals&amp;#44;[Calm Animals](!&amp;#13;#calmanimals)&amp;#124; Cure Light Wounds&amp;#44;[Cure Light Wounds](!&amp;#13;#curelightwounds)&amp;#124; Enrage Animal&amp;#44;[Enrage Animal](!&amp;#13;#enrageanimal)&amp;#124; Entangle&amp;#44;[Entangle](!&amp;#13;#entangle)&amp;#124; Faerie Fire&amp;#44;[Faerie Fire](!&amp;#13;#faeriefire)&amp;#124; Goodberry&amp;#44;[Goodberry](!&amp;#13;#goodberry)&amp;#124; Lesser Vigor&amp;#44;[Lesser Vigor](!&amp;#13;#lesservigor)&amp;#124; Longstrider&amp;#44;[Longstrider](!&amp;#13;#longstrider)&amp;#124; Metal Fang&amp;#44;[Metal Fang](!&amp;#13;#metalfang)&amp;#124; Produce Flame&amp;#44;[Produce Flame](!&amp;#13;#produceflame)&amp;#124; Snakes Swiftness&amp;#44;[Snakes Swiftness](!&amp;#13;#snakesswiftness)&amp;#124; Speak with Animals&amp;#44;[Speak with Animals](!&amp;#13;#speakwithanimals)&amp;#124; Winter Chill&amp;#44;[Winter Chill](!&amp;#13;#winterchill)&amp;#125;| 2,?{Spell&amp;#124; Animalistic Power&amp;#44;[Animalistic Power](!&amp;#13;#animalisticpower)&amp;#124; Barkskin&amp;#44;[Barkskin](!&amp;#13;#barkskin)&amp;#124; Bite of the Wererat&amp;#44;[Bite of the Wererat](!&amp;#13;#biteofthewererat)&amp;#124; Blinding Spittle&amp;#44;[Blinding Spittle](!&amp;#13;#blindingspittle)&amp;#124; Briar Web&amp;#44;[Briar Web](!&amp;#13;#briarweb)&amp;#124; Bull's Strength&amp;#44;[Bull's Strength](!&amp;#13;#bullsstrength)&amp;#124; Cat's Grace&amp;#44;[Cat's Grace](!&amp;#13;#catsgrace)&amp;#124; Chill Metal&amp;#44;[Chill Metal](!&amp;#13;#chillmetal)&amp;#124; Decomposition&amp;#44;[Decomposition](!&amp;#13;#decomposition)&amp;#124; Easy Trail&amp;#44;[Easy Trail](!&amp;#13;#easytrail)&amp;#124; Flame Blade&amp;#44;[Flame Blade](!&amp;#13;#flameblade)&amp;#124; Flaming Sphere&amp;#44;[Flaming Sphere](!&amp;#13;#flamingsphere)&amp;#124; Frost Breath&amp;#44;[Frost Breath](!&amp;#13;#frostbreath)&amp;#124; Healing Sting&amp;#44;[Healing Sting](!&amp;#13;#healingsting)&amp;#124; Heat Metal&amp;#44;[Heat Metal](!&amp;#13;#heatmetal)&amp;#124; Hold Animal&amp;#44;[Hold Animal](!&amp;#13;#holdanimal)&amp;#124; Lesser Restoration&amp;#44;[Lesser Restoration](!&amp;#13;#lesserrestoration)&amp;#124; Master Air&amp;#44;[Master Air](!&amp;#13;#masterair)&amp;#124; Metal Fang&amp;#44;[Metal Fang](!&amp;#13;#metalfang)&amp;#124; Nature's Favour&amp;#44;[Nature's Favour](!&amp;#13;#naturesfavour)&amp;#124; Resist Energy&amp;#44;[Resist Energy](!&amp;#13;#resistenergy)&amp;#124; Saltray&amp;#44;[Saltray](!&amp;#13;#saltray)&amp;#124; Snakes Swiftness&amp;#44; Mass&amp;#44;[Snakes Swiftness&amp;#44; Mass](!&amp;#13;#snakesswiftnessmass)&amp;#124; Soften Earth and Stone&amp;#44;[Soften Earth and Stone](!&amp;#13;#softenearthandstone)&amp;#124; Spider Climb&amp;#44;[Spider Climb](!&amp;#13;#spiderclimb)&amp;#124; Splinterbolt&amp;#44;[Splinterbolt](!&amp;#13;#splinterbolt)&amp;#124; Tree Shape&amp;#44;[Tree Shape](!&amp;#13;#treeshape)&amp;#124; Warp Wood&amp;#44;[Warp Wood](!&amp;#13;#warpwood)&amp;#124; Winters Embrace&amp;#44;[Winters Embrace](!&amp;#13;#wintersembrace)&amp;#124; Wood Shape&amp;#44;[Wood Shape](!&amp;#13;#woodshape)&amp;#125;| 3,?{Spell&amp;#124; Bite of the Werewolf&amp;#44;[Bite of the Werewolf](!&amp;#13;#biteofthewerewolf)&amp;#124; Call Lightning&amp;#44;[Call Lightning](!&amp;#13;#calllightning)&amp;#124; Charge of the Triceratops&amp;#44;[Charge of the Triceratops](!&amp;#13;#chargeofthetriceratops)&amp;#124; Corona of Cold&amp;#44;[Corona of Cold](!&amp;#13;#coronaofcold)&amp;#124; Cure Moderate Wounds&amp;#44;[Cure Moderate Wounds](!&amp;#13;#curemoderatewounds)&amp;#124; Daylight&amp;#44;[Daylight](!&amp;#13;#daylight)&amp;#124; Dominate Animal&amp;#44;[Dominate Animal](!&amp;#13;#dominateanimal)&amp;#124; Downdraft&amp;#44;[Downdraft](!&amp;#13;#downdraft)&amp;#124; Evard's Menacing Tentacles&amp;#44;[Evard's Menacing Tentacles](!&amp;#13;#evardsmenacingtentacles)&amp;#124; Giant's Wrath&amp;#44;[Giant's Wrath](!&amp;#13;#giantswrath)&amp;#124; Girallon's Blessing&amp;#44;[Girallon's Blessing](!&amp;#13;#girallonsblessing)&amp;#124; Hypothermia&amp;#44;[Hypothermia](!&amp;#13;#hypothermia)&amp;#124; Icelance&amp;#44;[Icelance](!&amp;#13;#icelance)&amp;#124; Lion's Charge&amp;#44;[Lion's Charge](!&amp;#13;#lionscharge)&amp;#124; Magic Fang&amp;#44; Greater&amp;#44;[Magic Fang&amp;#44; Greater](!&amp;#13;#magicfanggreater)&amp;#124; Nature's Rampart&amp;#44;[Nature's Rampart](!&amp;#13;#naturesrampart)&amp;#124; Neutralise Poison&amp;#44;[Neutralise Poison](!&amp;#13;#neutralisepoison)&amp;#124; Primal Form&amp;#44;[Primal Form](!&amp;#13;#primalform)&amp;#124; Protection from Energy&amp;#44;[Protection from Energy](!&amp;#13;#protectionfromenergy)&amp;#124; Remove Disease&amp;#44;[Remove Disease](!&amp;#13;#removedisease)&amp;#124; Resist Energy&amp;#44; Mass&amp;#44;[Resist Energy&amp;#44; Mass](!&amp;#13;#resistenergymass)&amp;#124; Speak with Plants&amp;#44;[Speak with Plants](!&amp;#13;#speakwithplants)&amp;#124; Spirit Jaws&amp;#44;[Spirit Jaws](!&amp;#13;#spiritjaws)&amp;#124; Vigor&amp;#44;[Vigor](!&amp;#13;#vigor)&amp;#124; Vigor&amp;#44; Mass Lesser&amp;#44;[Vigor&amp;#44; Mass Lesser](!&amp;#13;#vigormasslesser)&amp;#124; Wreath of Flames&amp;#44;[Wreath of Flames](!&amp;#13;#wreathofflames)&amp;#125;| 4,?{Spell&amp;#124; Arc of Lightning&amp;#44;[Arc of Lightning](!&amp;#13;#arcoflightning)&amp;#124; Bite of the Wereboar&amp;#44;[Bite of the Wereboar](!&amp;#13;#biteofthewereboar)&amp;#124; Control Water&amp;#44;[Control Water](!&amp;#13;#controlwater)&amp;#124; Creeping Cold&amp;#44; Greater&amp;#44;[Creeping Cold&amp;#44; Greater](!&amp;#13;#greatercreepingcold)&amp;#124; Cure Serious Wounds&amp;#44;[Cure Serious Wounds](!&amp;#13;#cureseriouswounds)&amp;#124; Dispel Magic&amp;#44;[Dispel Magic](!&amp;#13;#dispelmagic)&amp;#124; Flame Strike&amp;#44;[Flame Strike](!&amp;#13;#flamestrike)&amp;#124; Healing Spirit&amp;#44;[Healing Spirit](!&amp;#13;#healingspirit)&amp;#124; Ice Storm&amp;#44;[Ice Storm](!&amp;#13;#icestorm)&amp;#124; Lay of the Land&amp;#44;[Lay of the Land](!&amp;#13;#layoftheland)&amp;#124; Magic Fang&amp;#44; Superior&amp;#44;[Magic Fang&amp;#44; Superior](!&amp;#13;#superiormagicfang)&amp;#124; Meteoric Strike&amp;#44;[Meteoric Strike](!&amp;#13;#meteoricstrike)&amp;#124; Reincarnate&amp;#44;[Reincarnate](!&amp;#13;#reincarnate)&amp;#124; Rusting Grasp&amp;#44;[Rusting Grasp](!&amp;#13;#rustinggrasp)&amp;#124; Spike Stones&amp;#44;[Spike Stones](!&amp;#13;#spikestones)&amp;#124; Sudden Stalagmite&amp;#44;[Sudden Stalagmite](!&amp;#13;#suddenstalagmite)&amp;#124; Vortex of Teeth&amp;#44;[Vortex of Teeth](!&amp;#13;#vortexofteeth)&amp;#124; Wind at Back&amp;#44;[Wind at Back](!&amp;#13;#windatback)&amp;#125;| 5,?{Spell&amp;#124; Awaken&amp;#44;[Awaken](!&amp;#13;#awaken)&amp;#124; Baleful Polymorph&amp;#44;[Baleful Polymorph](!&amp;#13;#balefulpolymorph)&amp;#124; Bite of the Weretiger&amp;#44;[Bite of the Weretiger](!&amp;#13;#biteoftheweretiger)&amp;#124; Blood Creepers&amp;#44;[Blood Creepers](!&amp;#13;#bloodcreepers)&amp;#124; Call Lightning Storm&amp;#44;[Call Lightning Storm](!&amp;#13;#calllightningstorm)&amp;#124; Cloak of the Sea&amp;#44;[Cloak of the Sea](!&amp;#13;#cloakofthesea)&amp;#124; Contagion&amp;#44; Mass&amp;#44;[Contagion&amp;#44; Mass](!&amp;#13;#contagionmass)&amp;#124; Control Winds&amp;#44;[Control Winds](!&amp;#13;#controlwinds)&amp;#124; Cure Critical Wounds&amp;#44;[Cure Critical Wounds](!&amp;#13;#curecriticalwounds)&amp;#124; Death Ward&amp;#44;[Death Ward](!&amp;#13;#deathward)&amp;#124; Dire Hunger&amp;#44;[Dire Hunger](!&amp;#13;#direhunger)&amp;#124; Enlarge Animal&amp;#44;[Enlarge Animal](!&amp;#13;#enlargeanimal)&amp;#124; Flesh to Salt&amp;#44;[Flesh to Salt](!&amp;#13;#fleshtosalt)&amp;#124; Hibernate&amp;#44;[Hibernate](!&amp;#13;#hibernate)&amp;#124; Ice Flowers&amp;#44;[Ice Flowers](!&amp;#13;#iceflowers)&amp;#124; Ice Shield&amp;#44;[Ice Shield](!&amp;#13;#iceshield)&amp;#124; Inferno&amp;#44;[Inferno](!&amp;#13;#inferno)&amp;#124; Insect Plague&amp;#44;[Insect Plague](!&amp;#13;#insectplague)&amp;#124; Longstrider&amp;#44; Mass&amp;#44;[Longstrider&amp;#44; Mass](!&amp;#13;#longstridermass)&amp;#124; Panacea&amp;#44;[Panacea](!&amp;#13;#panacea)&amp;#124; Phantom Stag&amp;#44;[Phantom Stag](!&amp;#13;#phantomstag)&amp;#124; Quill Blast&amp;#44;[Quill Blast](!&amp;#13;#quillblast)&amp;#124; Rejuvenation Cocoon&amp;#44;[Rejuvenation Cocoon](!&amp;#13;#rejuvenationcocoon)&amp;#124; Stone Shape&amp;#44; Greater&amp;#44;[Stone Shape&amp;#44; Greater](!&amp;#13;#stoneshapegreater)&amp;#124; Stoneskin&amp;#44;[Stoneskin](!&amp;#13;#stoneskin)&amp;#124; Transmute Stone to Sand&amp;#44;[Transmute Stone to Sand](!&amp;#13;#transmutestonetosand)&amp;#124; Tree Stride&amp;#44;[Tree Stride](!&amp;#13;#treestride)&amp;#124; Vigor&amp;#44; Greater&amp;#44;[Vigor&amp;#44; Greater](!&amp;#13;#vigorgreater)&amp;#124; Wall of Fire&amp;#44;[Wall of Fire](!&amp;#13;#walloffire)&amp;#125;| 6,?{Spell&amp;#124; Anger of the Noonday Sun&amp;#44;[Anger of the Noonday Sun](!&amp;#13;#angerofthenoondaysun)&amp;#124; Animate Snow&amp;#44;[Animate Snow](!&amp;#13;#animatesnow)&amp;#124; Antilife Shell&amp;#44;[Antilife Shell](!&amp;#13;#antilifeshell)&amp;#124; Aspect of the Earth&amp;#44;[Aspect of the Earth](!&amp;#13;#aspectoftheearth)&amp;#124; Awaken Sand&amp;#44;[Awaken Sand](!&amp;#13;#awaken sand)&amp;#124; Bite of the Werebear&amp;#44;[Bite of the Werebear](!&amp;#13;#biteofthewerebear)&amp;#124; Bull's Strength&amp;#44; Mass&amp;#44;[Bull's Strength&amp;#44; Mass](!&amp;#13;#bullsstrengthmass)&amp;#124; Call of the Twilight Defender&amp;#44;[Call of the Twilight Defender](!&amp;#13;#callofthetwilightdefender)&amp;#124; Chasing Perfection&amp;#44;[Chasing Perfection](!&amp;#13;#chasingperfection)&amp;#124; Cometfall&amp;#44;[Cometfall](!&amp;#13;#cometfall)&amp;#124; Crumble&amp;#44;[Crumble](!&amp;#13;#crumble)&amp;#124; Dinosaur Stampede&amp;#44;[Dinosaur Stampede](!&amp;#13;#dinosaurstampede)&amp;#124; Dispel Magic&amp;#44; Greater&amp;#44;[Dispel Magic&amp;#44; Greater](!&amp;#13;#dispelmagicgreater)&amp;#124; Drown&amp;#44;[Drown](!&amp;#13;#drown)&amp;#124; Energy Immunity&amp;#44;[Energy Immunity](!&amp;#13;#energyimmunity)&amp;#124; Entomb&amp;#44;[Entomb](!&amp;#13;#entomb)&amp;#124; Enveloping Cocoon&amp;#44;[Enveloping Cocoon](!&amp;#13;#envelopingcocoon)&amp;#124; Extract Water Elemental&amp;#44;[Extract Water Elemental](!&amp;#13;#extractwaterelemental)&amp;#124; Find the Path&amp;#44;[Find the Path](!&amp;#13;#findthepath)&amp;#124; Fire Seeds&amp;#44;[Fire Seeds](!&amp;#13;#fireseeds)&amp;#124; Fires of Purity&amp;#44;[Fires of Purity](!&amp;#13;#firesofpurity)&amp;#124; Hungry Gizzard&amp;#44;[Hungry Gizzard](!&amp;#13;#hungrygizzard)&amp;#124; Liveoak&amp;#44;[Liveoak](!&amp;#13;#liveoak)&amp;#124; Miasma&amp;#44;[Miasma](!&amp;#13;#miasma)&amp;#124; Mummify&amp;#44;[Mummify](!&amp;#13;#mummify)&amp;#124; Protection from All Elements&amp;#44;[Protection from All Elements](!&amp;#13;#protectionfromallelements)&amp;#124; Stone Tell&amp;#44;[Stone Tell](!&amp;#13;#stonetell)&amp;#124; Stonehold&amp;#44;[Stonehold](!&amp;#13;#stonehold)&amp;#124; Summon Greater Elemental&amp;#44;[Summon Greater Elemental](!&amp;#13;#summongreaterelemental)&amp;#124; Thunder Field&amp;#44;[Thunder Field](!&amp;#13;#thunderfield)&amp;#124; Tidal Surge&amp;#44;[Tidal Surge](!&amp;#13;#tidalsurge)&amp;#124; Transport via Plants&amp;#44;[Transport via Plants](!&amp;#13;#transportviaplants)&amp;#124; Wall of Stone&amp;#44;[Wall of Stone](!&amp;#13;#wallofstone)&amp;#124; Wooden Blight&amp;#44;[Wooden Blight](!&amp;#13;#woodenblight)&amp;#125;| 7,?{Spell&amp;#124; Animate Plants&amp;#44;[Animate Plants](!&amp;#13;#animateplants)&amp;#124; As the Frost&amp;#44;[As the Frost](!&amp;#13;#asthefrost)&amp;#124; Aura of Cold&amp;#44; Greater&amp;#44;[Aura of Cold&amp;#44; Greater](!&amp;#13;#auraofcoldgreater)&amp;#124; Brilliant Aura&amp;#44;[Brilliant Aura](!&amp;#13;#brilliantaura)&amp;#124; Control Weather&amp;#44;[Control Weather](!&amp;#13;#controlweather)&amp;#124; Cure Moderate Wounds&amp;#44; Mass&amp;#44;[Cure Moderate Wounds&amp;#44; Mass](!&amp;#13;#curemoderatewoundsmass)&amp;#124; Firestorm&amp;#44;[Firestorm](!&amp;#13;#firestorm)&amp;#124; Haze of Smoldering Stone&amp;#44;[Haze of Smoldering Stone](!&amp;#13;#hazeofsmolderingstone)&amp;#124; Heal&amp;#44;[Heal](!&amp;#13;#heal)&amp;#124; Master Earth&amp;#44;[Master Earth](!&amp;#13;#masterearth)&amp;#124; Storm of Elemental Fury&amp;#44;[Storm of Elemental Fury](!&amp;#13;#stormofelementalfury)&amp;#124; Storm Tower&amp;#44;[Storm Tower](!&amp;#13;#stormtower)&amp;#124; Sunbeam&amp;#44;[Sunbeam](!&amp;#13;#sunbeam)&amp;#124; Swamp Lung&amp;#44;[Swamp Lung](!&amp;#13;#swamplung)&amp;#124; Transmute Metal to Wood&amp;#44;[Transmute Metal to Wood](!&amp;#13;#transmutemetaltowood)&amp;#124; True Seeing&amp;#44;[True Seeing](!&amp;#13;#trueseeing)&amp;#124; Waterspout&amp;#44;[Waterspout](!&amp;#13;#waterspout)&amp;#124; Wind Walk&amp;#44;[Wind Walk](!&amp;#13;#windwalk)&amp;#124; Word of Balance&amp;#44;[Word of Balance](!&amp;#13;#wordofbalance)&amp;#124; Wrack Earth&amp;#44;[Wrack Earth](!&amp;#13;#wrackearth)&amp;#125; 8,?{Spell&amp;#124; Animal Shapes&amp;#44;[Animal Shapes](!&amp;#13;#animalshapes)&amp;#124; Awaken&amp;#44; Mass&amp;#44;[Mass Awaken](!&amp;#13;#awakenmass)&amp;#124; Bombardment&amp;#44;[Bombardment](!&amp;#13;#bombardment)&amp;#124; Cocoon&amp;#44;[Cocoon](!&amp;#13;#cocoon)&amp;#124; Control Plants&amp;#44;[Control Plants](!&amp;#13;#controlplants)&amp;#124; Cure Serious Wounds&amp;#44; Mass&amp;#44;[Mass CSW](!&amp;#13;#cureseriouswoundsmass)&amp;#124; Deadfall&amp;#44;[Deadfall](!&amp;#13;#deadfall)&amp;#124; Earth Glide&amp;#44;[Earth Glide](!&amp;#13;#earthglide)&amp;#124; Earthquake&amp;#44;[Earthquake](!&amp;#13;#earthquake)&amp;#124; Finger of Death&amp;#44;[Finger of Death](!&amp;#13;#fingerofdeath)&amp;#124; Flesh to Salt&amp;#44; Mass&amp;#44;[Mass Flesh to Salt](!&amp;#13;#fleshtosaltmass)&amp;#124; Frostfell&amp;#44;[Frostfell](!&amp;#13;#frostfell)&amp;#124; Glacier&amp;#44;[Glacier](!&amp;#13;#glacier)&amp;#124; Leonal's Roar&amp;#44;[Leonal's Roar](!&amp;#13;#leonalsroar)&amp;#124; Maelstrom&amp;#44;[Maelstrom](!&amp;#13;#maelstrom)&amp;#124; Mantle of the Fiery Spirit&amp;#44;[Mantle of the Fiery Spirit](!&amp;#13;#mantleofthefieryspirit)&amp;#124; Phantom Wolf&amp;#44;[Phantom Wolf](!&amp;#13;#phantomwolf)&amp;#124; Red Tide&amp;#44;[Red Tide](!&amp;#13;#redtide)&amp;#124; Reverse Gravity&amp;#44;[Reverse Gravity](!&amp;#13;#reversegravity)&amp;#124; Speak with Anything&amp;#44;[Speak with Anything](!&amp;#13;#speakwithanything)&amp;#124; Stormrage&amp;#44;[Stormrage](!&amp;#13;#stormrage)&amp;#124; Sunburst&amp;#44;[Sunburst](!&amp;#13;#sunburst)&amp;#124; Unearthly Beauty&amp;#44;[Unearthly Beauty](!&amp;#13;#unearthlybeauty)&amp;#124; Unyielding Roots&amp;#44;[Unyielding Roots](!&amp;#13;#unyieldingroots)&amp;#124; Whirlwind&amp;#44;[Whirlwind](!&amp;#13;#whirlwind)&amp;#125; } Palanthis said: Last but not least, i saw in another old post that a compendium for 3.5 was discussed. Is this a working project ? I would love to see such a compendium (i really prefer 3.5 to Pathfinder or 5th edition) and i guess a lot of players must have a lot of informations in their 3.5 campaigns on roll20. I could contribute to it myself because my goal is to play the lancedragon campaign on roll20 with my friends. In doing so i intend to create all the monsters sheets i need, (and the spells also) and could add them in the compendium if they're not there already. From what i gathered, only a google doc by Diana P exist, and it contains only a few levels of spells, not monsters.&nbsp; Thanks again for all your advices :) The team are definitely keen to expand the systems covered by the compendium, I believe the intent was to ensure that the 5th edition one was gold standard and then add others to match. I know I've put myself down to help with the 3.5e one already. An email to <a href="mailto:team@roll20.net" rel="nofollow">team@roll20.net</a> to express your interest and willingness to help certainly wouldn't go unnoticed. External spell data is a cagey affair as not all spells are OGL, I have a list some 3500 long of spells that are loosely coded for powercards (API script) and to suit my own styling requirements but I couldn't share that due to the volume of non-OGL stuff in there. Us die-hard 3.5ers have just got to soldier on until then I guess which simply adds more value to the 'store spells in a character journal to move between games' idea :) And you are most welcome, happy to be able to help... It's a steep learning curve but you'll soon get the hang of it!
1516297050

Edited 1516297178
Ziechael said: When you get something like that it usually means that the syntax has broken somewhere, that looks like a rogue } has ended the query early and prompted the system to look for an attribute that is the last section of the spell. It worked fine for me in testing so all I can suggest is make sure that all the html replacements are in place and intact. Ok, i'll check it but i'll work on the journal solution anyway. Ziechael said:The abilities section of a journal is the last of the 3 tabs (Bio, Character Sheet, Attributes and Abilities) that all journals have (unless no character sheet was selected at start up...). In there you can add abilities that can be called using the % syntax over the # macro syntax. As long as you know the sheets name to use you can call any sheets abilities from the chat using that method so yes, you would set all the spells up in one sheet but reference them with an ability set up on a casters sheet using a macro along the lines of the ?{Spell to cast|Detect Magic,%{Spells|Detect-Magic}|Spell 2,%{Spells|Spell-2} etc etc macro. The tedious bit would be creating the list of spell options for divine casters who simply have too many options lol. I see. I didn't know you could call an ability from another sheet. I thought they were usable only by the character who had control on the sheet. When you say "the sheets name", you're speaking of the name of the macro / ability right ? Also, each spell ability need the html replacement so it would have to be in this format&nbsp;(i take your example because i know it's working !): &{template:DnD35StdRoll } {{spellflag=true } } {{name=@{selected | character_name} } } {{subtags=casts [Detect Magic]( <a href="http://www.dandwiki.com/wiki/SRD:Detect_Magic" rel="nofollow">http://www.dandwiki.com/wiki/SRD:Detect_Magic</a> ) } } {{School:=Div } } {{Level:= Brd 0 , Clr 0 , Drd 0 , Sor/Wiz 0 } } {{Comp:=V , S } } {{Cast Time:= 1 std action } } {{Range:= 60 ft } } {{Area:= Cone-shaped emanation } } {{Dur:= Concentration , up to [[@{selected | casterlevel2}]] minute(s) (D) } } {{Save:= None } } {{SR:= No } } EDIT : Damn the }} have edited themselves again. I meant the macro you wrote earlier in this thread. I'm not sure how you get the HTML replacements to work here ! I'm not mistaken here ? I never realized divine casters had many more options than arcanes ones, but i wasn't paying attention to that i guess. Ziechael said:The team are definitely keen to expand the systems covered by the compendium, I believe the intent was to ensure that the 5th edition one was gold standard and then add others to match. I know I've put myself down to help with the 3.5e one already. An email to <a href="mailto:team@roll20.net" rel="nofollow">team@roll20.net</a> to express your interest and willingness to help certainly wouldn't go unnoticed. External spell data is a cagey affair as not all spells are OGL, I have a list some 3500 long of spells that are loosely coded for powercards (API script) and to suit my own styling requirements but I couldn't share that due to the volume of non-OGL stuff in there. Us die-hard 3.5ers have just got to soldier on until then I guess which simply adds more value to the 'store spells in a character journal to move between games' idea :) Thank you for the mailing adress, i'l do that :) And your druid macro query is really impressive ! i guess we can try really long macros then ! All i need to do is to try the same now !!
1516306113

Edited 1516307845
So, i did have to work two hours more or so, until i figured it right. Basically&nbsp; i didn't understand that attributes do NOT have to be modified in HTML. (i misread this part on the wiki section you gave me).&nbsp; Also, i think i wasn't finishing the edit of a spell macro (by clicking the "pencil" again)&nbsp; before testing the query one. So i guess sometimes my modifications weren't really applied. Anyway : IT WORKS ! Thank you, a lot !! Just one thing i noticed : since the attributes are determined before the roll query, it doesn't seem wise to specify targets of spells in the spells macro, because then, you have to choose a target before you choose a spell while launching the query.&nbsp; Which is a bit sad. So if you have, for example, a damage spell and a protection spell, obviously you shouldn't have the same target. I mean, technically if the caster knows precisely which spell he'll cast before launching the query, it could be ok. But it's a problem otherwise. (A little problem. The good thing is, it works). Thank you again. I'll start creating spells books right now :) PS : i figure you said divine spells are many because of the domain spells + the druid ones ? I'm not really concerned, because in Dragonlance the divine casters are really rare (at least in the beginning). But i see why you have so much spells to work with !
1516357108
Ziechael
Forum Champion
Sheet Author
API Scripter
Awesome, sounds like you are truly on the path to macro madness greatness! I only say divine casters are more work because they technically have access to ALL the spells for their level and are only restricted by the ones they prepare (which is why I get my players to provide me with a list of likely candidates rather than have to code the whole level worth of spells), arcane casters are limited to the ones they know/learn thats all. As for target/selected calls. You can totally use those to the desired effect, the key is to ensure that all the calls are in the query result itself and not occurring before the ?{... begins: /me casts a spell at @{target|token_name} ?{Which spell|...etc etc would force the use of a target call before selecting the spell, but: ?{Which spell|Magic Missile,%{Spells|Magic-Missile}... etc etc With the magic missile ability being: /me casts a spell at @{target|token_name} &lt;spell macro&gt; would allow the selection of the spell before needing to call for a target. The only restriction when calling abilities from other sheets is that the player attempting to call the ability must have edit control over the sheet in question. If you have 2 players called Bob and Ted and each only have control of their own sheet then Bob couldn't use %{Ted|Holy-Avenger-Attack} to attempt to bluff the use of Ted's awesome weapon of divine justice. However if there is a third sheet called Spells that Bob has edit control of but Ted does not then good ole Bob can use %{Spells|&lt;ability name&gt;} to call any ability from that sheet. It all gets very meta the deeper down the rabbit hole you go! Best of luck :)
Well, i've made alot of macros (all 0 level spells + a few others) and 'im now making some cool fighting menus for players with different roll queries. But, i'm sorry to say the target/selected call doesn't work the way you describe it. Not sure if i'm doing something wrong, or if you thought it would work without actually testing it in roll20 now (maybe it worked before ?) As soon as i write&nbsp;@{target|token_name} anywhere in a spell (just one spell of all 0-level spells will do, for example) of my spell abilities sheet, then when i launch my roll query with the caster, i immediately have to select a target before having to choose from the roll query menu. So it seems all values, even the values within the spells' sheet, have to be determined before the roll query (which is on another sheet) actually launches. I'm not sure it can be otherwise, then...
1517321634
Ziechael
Forum Champion
Sheet Author
API Scripter
How is your macro set up, straight up query result=macro or have you utilised buttons as your output for the player to click to launch the spell. The former will likely expect the conclusion of the target syntax as the macros are parsed through when the query is asking the question... if that makes sense...
I'm not sure what you mean. Here is a screenshot to give you an idea. Sorry, lot of french !
1517344355
Ziechael
Forum Champion
Sheet Author
API Scripter
Ok great, thanks for the pics and sorry my question wasn't clearer, its a fun thing to try and explain lol. I think with that setup it won't work with @{target as you've found. The result of the macros is likely passed to the query even while being asked due to the order of operations. A quick fix would be to replace each instance of %{Grimoire profane|&lt;spell name&gt;} with&nbsp; [Jeter](~Grimoire profane&amp;#124;&lt;spell name&gt;) this would put a button into chat that the player could click to cast the spell, but not launch the macro until then so @{target... etc wouldn't be called for until the button is clicked, which would be after the spell had been selected. The advantage of the above would be that there is no need to use html replacements in your spell macros as the nesting doesn't apply to the button result (which would mean you'd have to undo the html in existing macros but probably less work in the long run right?). Hope that makes sense...
1517344395
Ziechael
Forum Champion
Sheet Author
API Scripter
Also I used google to get the french for cast (Jeter?) so if it is wrong or the wrong context then I'm sorry ;)
1517346662

Edited 1517347269
Thank you so much ! I heard about buttons but didn't try them yet.&nbsp; And it's correct, jeter * could be used in french for cast, but lancer * is even more nice :) ( jeter is the equivalent of "to drop"). Damn, now i have to undo all the HTML replacements ^^ (i guess i could copy the macro in the collections tab, so it automatically replace the html replacements...) PS : are the buttons displayed for everyone in chat, or only the player who use the macro ?
1517353534
Ziechael
Forum Champion
Sheet Author
API Scripter
Best to nail down your approach before you get to work on the level 2+ spells ;) The button would be available to all players... unless you prefix your query with /w "@{character_name}" &nbsp;that way it will just be whispered to any player that controls that sheet.
1517401117

Edited 1517401399
I don't really like buttons after all : they're not really pretty, and it means you have to click one more time before launching the spell. (also, i didn't succeed in incorporating a button in my roll query for some reason : so i tested it without the roll query. If you could give me a simple macro of a roll query with one button, i could reproduce it, just in case). So, as the "target" problem is not really a big problem ( actually, selecting a target means more clicking for the player) i think i'll deal without targeting at all (except in my fighting macros because it's nice to see the AC of the target, but almost every combat manoeuver needs a target so it's ok in this case). Thanks again for all you help, i'm learning a lot faster ! Last question and i'll stop bothering you : do you know a way to get a macro for an effect which changes ability scores (like barbarian rage for example) without API scripts? The API is too complex for a guy like me, so for now i decided to report these temporary changes on the character sheets (and i use an API script that monitors these effects turn by turn so it's easier to remember when the effect stops). It's fine that way, but a macro could be nice :)&nbsp;
1517414479
Ziechael
Forum Champion
Sheet Author
API Scripter
The buttons are ugly aren't they... very much a means to an end but a useful one at that, certainly not for everyone though. Here's a basic nested query example of how a button menu can work (shortened version of my druid one above but with the buttons keyed to take info from another sheet instead of universal macros: /w "@{selected|character_name}" ?{What Level| 0,?{Spell&amp;#124; Create Water&amp;#44;[Create Water](~Grimoire profane&amp;amp;#124;createwater)&amp;#124; Cure Minor Wounds&amp;#44;[Cure Minor Wounds](~Grimoire profane&amp;amp;#124;cureminorwounds)&amp;#125; | 1,?{Spell&amp;#124; Aspect of the Wolf&amp;#44;[Aspect of the Wolf](~Grimoire profane&amp;amp;#124;aspectofthewolf)&amp;#124; Aura Against Flame&amp;#44;[Aura Against Flame](~Grimoire profane&amp;amp;#124;auraagainstflame)&amp;#125; | 2,?{Spell&amp;#124; Animalistic Power&amp;#44;[Animalistic Power](~Grimoire profane&amp;amp;#124;animalisticpower)&amp;#124;&amp;#125;} ChatSetAttr is a great way to implement things like rage using an on/off style approach but if you wanted something non-API you wouldn't be able to alter attributes but could mirror the effect in an attack macro by adding something like the below: [[1d20 + @{str-mod} + ?{Raging|No,0|Yes,2} + @{weaponenh} etc etc ]] Since Rage adds 4 to strength its general increase to strength based weapons is always 2 (10 str + 4 = 14, therefore bonus of 2, 11 str + 4 = 15, still bonus of 2, 12 str + 4 = 16, therefore bonus of 1 innate + 2 from new str = 3 total etc etc). The same would apply to strength based damage too and strength based checks. Hope that helps a bit?