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

Pathfinder: Preparing and Casting Spells

So I have been playing a homebrew campaign on Roll20 for a few weeks as a Cleric. My GM is not using the API or Character Sheets, so scripts are out. I am looking for advice for a minimalist method of data entry/management for the preparing and casting of spells using ability macros. Thus far my best solution is copying and modifying the OGC spell list from the PFSRD into alternating lines of spell name/spell description. See example below. An /em command describes the spell level being prepared with the optional descriptions for infrequently used spells. Simply using // to comment out lines makes for decent management system without too much maintenance. However with the introduction of roll templates, this method's aesthetic is no longer satisfactory. The default roll template does not handle newline characters, preventing me from directly translating this method. Thoughts, questions, comments, and concerns are welcome. /em 0-Level Spells //Bleed //Cause a stabilized creature to resume dying. Create Water //Creates 2 gallons/level of pure water. Detect Magic //Detects spells and magic items within 60 ft. //Detect Poison //Detects poison in one creature or object. //Enhanced Diplomacy //Touched creature gains +2 on one Diplomacy or Intimidate check. //Guidance //Touched creature gains +1 on one attack roll, saving throw, or skill check. Light //Object shines like a torch. //Mending //Makes minor repairs on an object. Purify Food and Drink //Purifies 1 cu. ft./level of food or water. //Read Magic //Read scrolls and spellbooks. //Resistance //Touched creature gains +1 on saving throws. //Spark //Ignites flammable objects. //Stabilize //Cause a dying creature to stabilize. //Virtue //Touched creature gains 1 temporary hp.
I handle this two ways. 1st) Preemptively; I keep a notepad file as a pseudo database of all spell or other complex macros I've used elsewhere. I then just copy/paste them into macros or character abilities as needed. 2nd) Create them on the fly with either basic macro or the new DefaultTemplate format. For spells I use two DefaultTemplates after each other. One for the fiddly bits, and one just to describe the effect. On simple spells that don't need rolls or explanation, I don't even bother Macroing them. Note: What makes spells annoying to macro up are their fiddly bits like Save DC, Spell Resistance, Range, Area of Effect, and detailing what they actually do. Regular Macro: /me raises his hands and tosses a handful of glittering dust into the air while canting, "Coruscantes Et Cinere"! [GlitterDust] DC:[[0d0 + 10[Base] + 2[SpLvl] + 4[Int] ]]Will Neg ♦ SR:No Dur:[[ 4 ]] rds ♦ Rng [[100 + ( 4 *10) ]] ft [[10]]ft. radius, targets blinded and invisible creatures revealed, stealth receive -40 penalty. Blinded creates may attempt new save at the end of their turn. Default Template (Broken up here for readability. Please note forum formatting breaks [Link] text) /me raises his hands and tosses a handful of glittering dust into the air while canting, "Coruscantes Et Cinere"! &{template:default} {{name=GlitterDust: ***[Link]( <a href="http://www.d20pfsrd.com/magic/all-spells/g/glitterdust)***" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/g/glitterdust)***</a>} } {{Range:=[[100 + ( 4 *10) ]] ft}} {{Area(Radius):=[[10]] ft}} {{Duration:=[[4]] rds }} {{DC:[[0d0 + 10[Base] + 2[SpLvl] + 4[Int] ]] Will Negates=**SR**: No}} &{template:default} {{name=Effect}} {{[Targets blinded and invisible creatures revealed, stealth receive -40 penalty}} {{Blinded creates may attempt new save at the end of their turn}} This would actually be entered like this: /me raises his hands and tosses a handful of glittering dust into the air while canting, "Coruscantes Et Cinere"! &{template:default}{{name=GlitterDust: ***[Link]( <a href="http://www.d20pfsrd.com/magic/all-spells/g/glitterdust)***}}{{Range:=[[100" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/g/glitterdust)***}}{{Range:=[[100</a> + ( 4 *10) ]] ft}}{{Area(Radius):=[[10]] ft}} {{Duration:=[[4]] rds }}{{DC:[[0d0 + 10[Base] + 2[SpLvl] + 4[Int] ]] Will Negates=**SR**: No}} &{template:default}{{name=Effect}}{{[Targets blinded and invisible creatures revealed, stealth receive -40 penalty}}{{Blinded creates may attempt new save at the end of their turn}}
@Mark G. Thanks so much for the inspiration. I wrote a python script to scrape <a href="http://paizo.com/pathfinderRPG/prd/indices/spellli" rel="nofollow">http://paizo.com/pathfinderRPG/prd/indices/spellli</a>... for all spells for any class. The final output looks like the content below, and allows me the control and aesthetic I wanted. The "Effect" value also acts as a link to the full spell description, with a basic description after it. Spell names are commented out above each of the template functions for easier searching, and each template renders separately. The text below is completely functional and tested; just copy/paste into an ability macro, uncomment the line and roll! If anyone is interested in your classes spell list in this format, just PM me. &{template:default} {{name=0-Level Spells}} //Bleed //&{template:default} {{name=Bleed}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/bleed.html#bleed)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/bleed.html#bleed)=</a> Cause a stabilized creature to resume dying.}} //Blessed Fist //&{template:default} {{name=Blessed Fist}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/blessedFist.html)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/blessedFist.html)=</a> Target doesn't provoke attacks of opportunity with unarmed strikes.}} //Create Water //&{template:default} {{name=Create Water}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/createWater.html#create-water)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/createWater.html#create-water)=</a> Creates 2 gallons/level of pure water.}} //Detect Magic //&{template:default} {{name=Detect Magic}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/detectMagic.html#detect-magic)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/detectMagic.html#detect-magic)=</a> Detects spells and magic items within 60 ft.}} //Detect Poison //&{template:default} {{name=Detect Poison}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/detectPoison.html#detect-poison)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/detectPoison.html#detect-poison)=</a> Detects poison in one creature or object.}} //Guidance //&{template:default} {{name=Guidance}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/guidance.html#guidance)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/guidance.html#guidance)=</a> +1 on one attack roll, saving throw, or skill check.}} //Light //&{template:default} {{name=Light}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/light.html#light)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/light.html#light)=</a> Object shines like a torch.}} //Mending //&{template:default} {{name=Mending}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/mending.html#mending)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/mending.html#mending)=</a> Makes minor repairs on an object.}} //Purify Food and Drink //&{template:default} {{name=Purify Food and Drink}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/purifyFoodAndDrink.html#purify-food-and-drink)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/purifyFoodAndDrink.html#purify-food-and-drink)=</a> Purifies 1 cu. ft./level of food or water.}} //Read Magic //&{template:default} {{name=Read Magic}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/readMagic.html#read-magic)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/readMagic.html#read-magic)=</a> Read scrolls and spellbooks.}} //Refine Improvised Weapon //&{template:default} {{name=Refine Improvised Weapon}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/refineImprovisedWeapon.html)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/refineImprovisedWeapon.html)=</a> Transform improvised weapon into a masterwork simple or martial weapon.}} //Resistance //&{template:default} {{name=Resistance}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/resistance.html#resistance)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/resistance.html#resistance)=</a> Subject gains +1 on saving throws.}} //Spark //&{template:default} {{name=Spark}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/advanced/spells/spark.html#spark-)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/advanced/spells/spark.html#spark-)=</a> Ignites flammable objects.}} //Stabilize //&{template:default} {{name=Stabilize}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/stabilize.html#stabilize)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/stabilize.html#stabilize)=</a> Cause a dying creature to stabilize.}} //Stunning Barrier //&{template:default} {{name=Stunning Barrier}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/stunningBarrier.html)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/advancedClassGuide/spells/stunningBarrier.html)=</a> Magical field grants a +1 bonus to AC and on saves, and stuns one creature attacking you.}} //Virtue //&{template:default} {{name=Virtue}} {{[Effect](<a href="http://paizo.com/pathfinderRPG/prd/spells/virtue.html#virtue)=" rel="nofollow">http://paizo.com/pathfinderRPG/prd/spells/virtue.html#virtue)=</a> Subject gains 1 temporary hp.}}