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

[Script] SpellMaster 2.0 - 5e OGL Magic Handler [Thread 3]

1581052699

Edited 1582387280
GM Michael
API Scripter
This is Thread 3 of SpellMaster.  Thread 2 can be found here . Version 2.005 Magic Items New SRD.js architecture to be compatible with one-click installer (pull request has been issued). SpellMaster SpellMaster is a high-performance total-replacement for the Spells page of the OGL player character sheet with several additional key features that go beyond the default spells page. It is an  Airbag -compatible script specifically built to be expandable and to allow DMs to add homebrew content. The SRD spells are all provided. To add additional spells, make use of the Export feature. Features Instant Import:  Instantly add any spell (even homebrew!) in your master spell list to a character's spellbook. Additionally, you can import a class's entire spell list to a spellbook during setup so your poor Druids and Clerics don't die of old age in Session 0. SpellMaster also provides suggestions, should you mistype a spell name. Class List Perusing:  Peruse all spells your character could know and easily swap them in and out. Filtering:  filter by VSM, Ritual, Concentration, Preparedness, Slots Remaining, and the inverse of all of these. General string search and cast time filtering are also provided. Preparation Lists:  Create and configure independent lists of prepared spells for every scenario. Permanent Preparation:  Supports spells that are both conditionally prepared and always prepared, even those that can be used a finite number of times a day without expending slots. Performance:  SpellMaster is built to support games with hundreds of spells in play without slowing to a crawl. My own game features 730, compared to the SRD's 319 or Stock's 456. Compendium Interface:  SpellMaster has a semi-automated system to allow you to import spells from your purchased compendium expansions and then export them into your private spell list. Homebrew Support:  Utilizing the same export system, you can add or update house spells. Macro Support:  Macros of the commands SpellMaster uses are valid. Casting & Slot Tracking:  This would hardly be a spell manager if you couldn't cast or track slots. Sorcery Point Tracking:  This tool handles sorcery point conversions. Magic Item Tacking:  SpellMaster allows creation of magic items that run on charges. Setup Click Install below, as you would with any other script. If you have a lot of homebrewed or purchased compendium spells, skip down to the  Export  section of this and return here when you're done. Create a Handout with a unique name of your choice, such as "Tazeka's Spells." Give Tazeka's player control of the handout. This handout will become Tazeka's spellbook, fully replacing all need for the 5e OGL character sheet's spell page. Run the following command to bring up the base SpellMaster menu:  !SpellMaster In the chat menu, a simple gui will appear. Press  [Create Spellbook] . You will be prompted for some basic information. Fill out the prompts. Navigate to the handout and see that it has been populated! Tazeka now has a dedicated spellbook! I recommend going to Tazeka's main character sheet's  Bio & Info  tab and creating a link to her spells handout. In our example above, you would simply write  [Tazeka's Spells] . When you save, Roll20 will convert that into a link to the handout. The player will have full edit power over the spellbook. Operation The below section will go through the various features of SpellMaster in the same order they appear within the sheet. Filtering At the top of the sheet, you'll see the ability to filter by the presence (or absence!) of VSM components, as well as Cast Time, Concentration, Preparation, Ritual, Slots Remaining, Cast Time, and a general string search that can be used for other fields such as the description or Range. Tools Long Rest:  This will refill all slots and sorcery points to their maximum, and trigger a recharge on any magical items, as tracked by SpellMaster. SpellMaster uses an independent resource tracking system (due to the  Cache ), so this will not alter the base character sheet in any way. Level-Up:  This flushes the cache and reconstructs the maximum slot counts for spell levels. Press this once upon level-up. It supports full-casters, half-casters, third-casters, pact magic, and any combination of the above. Note that this does not update your sheet's  current  slots, only the maximums. Some GMs allow level-up immediately in combat, so I wished to allow that behavior. Refresh Cache:  SpellMaster's performance is  heavily  reliant on an internal data cache that keeps things running smoothly. Simply put, the sheer volume of data SpellMaster manages would easily fill up a third of your game's maximum memory size and bog your game to a crawl if it was not carefully managed. As it is, SpellMaster is designed to run more powerfully and efficiently than the stock OGL sheet. In practice, what this means for you is that the first time you perform an action with a spellbook per game, the user will experience a mild hitch, with much better performance thereafter. This button is for cases where you  must  flush the cache, such as when changing your spellcasting modifier (which is the reason Level Up automatically flushes your sheet). Sorcery Points By default, this is 0/0, but you can click the links to update them. Then, once you have done so, you may use the  [Compose Slot]  link here to generate spell slots, as well as the  [Decompose]  buttons down below to convert spell slots back into sorcery points. Prepared Tracking The preparedness tracker will make its best effort to track spells, even across several classes. It also does not restrict the user from over-preparation, and should be treated as a guideline. It does not treat permanently prepared spells as counting against its computed maximum prepared spells. Items New in SpellMaster 2.000, magic items allow you to track spell enchantments on magic items. Generally, items function similarly to spells (detailed below), but they have a few additional features of their own. The below section references the above image. [X] Staff of Power - [3] / [20] - [-] [X] : The staff is currently attuned. Click to toggle. Staff of Power : Click to rename. [3] / [20] : The item has 3 of 20 maximum charges. Click a number to change it. Upon activation, charges are automatically consumed. [-] : Will collapse the item's details. Requires Attunement : This allows you to control whether the item requires attunement or not. If it requires attunement and is not attuned, its enchantments deactivate. Appearance : Describe the appearance of the item. This is a flavor field and has no mechanical effect. Effect : Describe the effect of the item. This is a flavor field and has no mechanical effect. Enchantments : The list of enchantments. By pressing  [+]  on an enchantment, you can expand it. [3] Fireball [-] : The enchantment is a fireball enchantment that will consume 3 charges upon activation. Click the charge count to change it or click the enchantment name to cast it. If an enchantment requires more charges than are presently available, its activation link will be disabled. When you attempt to activate an item, if you can upcast the enchantment, you will be prompted to specify at what tier you wish to employ the item. DC : You can specify the DC or the ability score to use for casting a particular effect. Upcast Cost : Set the cost for upcasting the enchantment, presuming it can be upcast. Click  Upcast Cost  to set if it can be upcast and the number itself to set the upcast cost per tier/level. Add Spell Enchantment : Currently, only spell enchantments are supported. A future release will enable custom enchantments that trigger effects of your design. Until then, you can always create a new homebrew spell with the effect and enchant with that. Recharge Rate : Set the recharge rate. This supports both constants and die rolls using Roll20's roll engine. Spells Spells appear within their level in alphabetical order. Level 1 Spells - [4] / [4] - [...] : The initial line denotes the spell level and current spell slots. Click on a number to change it. Currents  can  be higher than maximums, though Long Rest will reset them back to the maximum. Pressing  [...]  will display all knowable spells for your character given your classes and spell lists at the specified level in the chat where you can add or remove them at your liesure. [_] Azdregath's Opulent Ooze (R) - [-] : The line with the spell's name on it has several features. [_] : Clicking this empty checkbox will fill it with an X to mark it as prepared. Cantrips are always checked. Azdregath's Opulent Ooze : Clicking this will cast the spell. See the casting details below. (R) : This marks the spell as a ritual. Concentration spells will be marked with  (C) . [-] : As elsewhere, this will compress or expand the spell details. [0] / [0] : Should you have a spell you can cast a finite number of times a day without expending a spell slot, you can edit its individual "slots" here. If these are non-zero, they will appear in the name-line of the spell, allowing you to view them at a glance. Manually Prepared : If you have a spell that is always prepared, you can lock it as automatically prepared here. This can be useful for classes with permanently-known spells or spells with lists of auto-prepared spells. A permanently-prepared spell is marked with a  [O]  in its preparedness checkbox. Description : The next several lines simply provide the details of the spell. The description is automatically parsed for indicators of saving throws, spell attacks, and upcasting. When a spell is cast, this is then accounted for. Ability : Clicking on this will allow you to set the spellcasting ability of the spell. If you select  Manual DC , you will be presented with the ability to set that value manually as well. Note that any spell attack will have a modifier 8 lower than the DC you specify. Notes : This field allows you to insert custom notes for a given spell. These notes will be displayed at cast-time. You can add custom rolls into this field if you wish by including something such as  [[1d4+1]] , which will be evaluated by the roll engine. Classes : This is the list of classes that learn this spell. Delete : As with all deletes, this requires a confirmation dialog. At the bottom of any spell level, you will find a  [+] . Press it to bring up a dialog to add a new spell. You  MUST  type the name correctly. If you cannot remember the precise name or spelling, it is often easier to use the  [...]  chat menu. Preparation Lists These function as radio buttons. Press the checkbox for the spell preparation list of your choice and then make any preparation selections. These will automatically be saved. should you create a new preparation list and switch to it. Permanently Prepared spells are global to the spellbook and do not change between preparation lists. The parenthetical number is the number of spells in that list. Press  [-]  to delete a list and  [+]  to create a new one. Casting with SpellMaster Whenever you cast a spell or activate an item enchantment, you'll be presented with the opportunity to upcast the spell if you can. If you cannot, or after your selection, the spell card will be printed to the chat log. If a spell has individual slots, they will be consumed before your main slots. The spell will be parsed to detect spell attacks or saving throws. If there is no attack roll, the fields that host those values will default to 0. Spell Export If you homebrew or purchased compendium content, the steps below dictate how to replace the stock SRD spell list with your own. Create a  NEW  character sheet (the process will overwrite the character sheet). I'll call it  House Spells . Navigate to its spell page. This is the last time you'll use this page for your PCs in your game, thanks to SpellMaster. Open your compendium. Filter by spells. Begin the (admittedly slow) process of dragging and dropping all those spells into House Spells, ignoring those in the SRD (unless you wish to create additional replicas for them). For each spell, you  MUST  manually fill out the Class field with the list of classes (ie  Druid, Warlock, Wizard ) because Roll20 has a bug that prevents it. Add any additional homebrew spells you allow at your table. If you have any special alterations to existing spells, include those as well. Just  MAKE SURE  the name is unchanged, and the exporter will take your new version and ignore the stock version. If you wish to  Rename  or  Ban  a spell at your table, name the spell either  RENAME|Old Name|New Name  or  DELETE|Banned Name . Once you're done, bring up the spellmaster menu with  !SpellMaster  and press  [Export Homebrew] . This will bring up a dialog option in which you type in the name of the character sheet. Begin export. The export process will begin in the background. It is  processor-intensive  on the server, and SpellMaster is forced to throttle itself, lest the API watchdog kill it. As a result, the process, depending on the number of spells, can take seconds to minutes to complete. You will be notified when it completes through a chat message. Open  House Spells  and navigate to the  Bio & Info  tab. There, you'll find yourself face-to-face with an enormous javascript file containing all your spells in the format SpellMaster reads. Copy all code there. Navigate to your campaign's API page and create a custom script. Call it something like  SpellList.js  and paste in the copied code. Save the script. This will trigger an API reboot. When the API comes back up, it will prioritize your list over its internal SRD list. Your players will thereafter be able to add your custom spells to their character sheets. Performance SpellMaster was largely born out of a dissatisfaction with the performance of existing tools and character sheets. The master spell list is stored in an API script and the exports are handled through a character sheet, which have a significantly higher data cap than the game state. SpellMaster's data, were it to be stored in state would eat about a third of it. Expensive operations are cached, so only part of the page is regenerated at a time. Without a cache, certain operations take >300ms. With it, they take <5ms. Spellbooks are in handouts rather than the main character sheet because loading a character sheet can take a painfully long time at higher levels, and SpellMaster is designed to be performant at  all  levels of play. For your convenience, however, the top of the spellbook contains a link to the main character sheet. Known Bugs Roll Clone Summary : When whispering to the rolls to both the GM and the player privately, the whispered rolls do not match. Workaround : Configure player rolls to not be whispered to the GM or give the GM ownership of all player characters. I do not mean merely give  All Players  control. I mean give the DM themselves control. Resolution : The Aaron and GiG have recently informed me of a means of dodging this bug, which is relatively simple Roadmap : I would like to get to this within the next few versions. Zero-Zero Summary : The HTML template that is currently used does not support no attack roll value, which is why they currently default to zero. Workaround : Ignore it. It hurts nothing except your eyes. Resolution : I'll need to build my own roll template or find another mechanism. For instance, if I were to integrate with PowerCards, that would resolve the issue, though I would need assistance from that script's developer(s). Roadmap : No imminent plans to resolve this, though I would like to eventually. Releases 1.0: Initial Release 1.1: Add whisper inheritance, add manual DCs 1.2: Advanced Caching and Homebrew Export 1.3: Export now handles all levels automatically for you. 1.3.1: Fixed a minor spell preparation bug for Druids and Clerics. 1.4 Add cast time filtering, add rename and delate to export. 1.5: Add knowables printing, improve spell slot count algorithm. 1.6: Add sorcery points. 1.7: Fix sorcery point migration bug. 1.8: Add auto-population solution for paladins. 1.9: Add range searching to general string search. 2.000: Magic Items, one-click install, new version number system 2.001: Enabled auto-rolling of rolled item charges. 2.002: Damerau-Levenshtein distance suggestions for mistyped spells, item sorting 2.004: Include artificer support 2.005: Adds replicas in the SRD. Future Work Usability Bug Fixes : Obviously, bug hunting is always desirable. Regex Searching : It's handy! Shaped Sheet Compatibility : Support for this is a looooooooong way off, but hey, it'd be nice! Features Custom Item Enchantments : I plan for this, which will likely be the next release. Improved NPC Support : Currently, SpellMaster only supports PC characters. I  definitely  want this feature, so it is a priority. Short Rest Recharge : Certainly, I can't  fully  support everything that might happen on a short rest, but I can at least add something. Most notably, Pact Magic and custom spell enchantments recharge would be nice. Ritual Casting : I would like to enable ritual casting as a dropdown option for such spells. Currently, the user would have to manually give themselves a slot back. Not a  huge  pain, but still annoying. Slotless Casting : I would like to see some sort of damage ticking system that rerolls the description sheet, though I've yet to come up with a good solution. I welcome suggestions. Contact Feel free to contact me at any of the following for comments, suggestions, or bug reports. github Roll20 Forums
1581191159

Edited 1581191181
GM Michael
API Scripter
Version 2.002 Damerau-Levenshtein+substring suggestions for mistyped spells Item charge autorolling Item and enchantment sorting
1581239686
Ziechael
Forum Champion
Sheet Author
API Scripter
Awesome addition, I know our Paladin will find that particularly useful!
Issued pull request to one click repo. Also, the lastest version of SRD.js (which will be in the one click install) removed all proper names from spells to be compliant with the OGL
Hi there,  I just want to check whether the only way to add homebrew spells is through the Spell Export process outlined above? My GM installed this for me, because I have a multiclass spellcaster character and I was struggling with the plain vanilla spell prep tool, but in his arcane class my character has some unique homebrewed spells (i.e. available only to him, and to nobody else in the setting), as both his classes have a few variant versions of SRD spells.  Is there any way of me inputting my homebrew spells into my own character's spellbook without my GM having to create an export new spell lists to replace the SRD (and, presumably, re-export every time I create a new homebrew spell)? Or is it only possible through replacing the SRD with (for example) Spellbook.js and a custom house spell list (and then updating that when new spells are created)? (I suspect it has  to be through the SRD, but thought I'd ask just in case.) Two more issues, or I think they're issues: There's also a glitch with multiclass characters: the app correctly lists how many slots a multiclass caster gets but (at least for divine casters) assumes access to spells of any level in which one has slots, even if the level in the specific class prevents access to those spells. Example: in my case, I have a 3rd level Druid, 7th level Wizard. I therefore only have access to 1st and 2nd level Druid spells, but my spell list includes 3rd, 4th, and 5th level Druid spells. (And I can't delete them from my spell list, I assume because divine spellcaster lists are hardwired.) It'd be nice for the app to know (based on specific class level) which spells of which class are actually available for preparation by multiclass characters, even if just as a filter one ticks on and leaves on.  This is separate, but maybe kind of linked: for multiclass characters, when you enter spells from different classes, they merge into a single combined list per level. It'd be nice if there were some way to indicate the class origin of each specific spell, as well as to filter them, especially for cases in which the class of origin for the spell determines the availability of special effects (penalties, bonuses, ability score-derived spellcasting modifiers, etc.). I guess it'd beed to be customizable—not just, "What is this in the SRD?" but "Which version of this spell does my character have?" to have this functionality. Example: My Druid/Wizard has Fog Cloud as a Druid spell and as a Wizard spell alike, but if he prepares the Wizard version, he gets to extend the range. Meanwhile he only knows the Druid version  of Charm Person so he cannot get a Wizard bonus effect when casting it, even though it also exists on the Wizard spell list.  (So maybe the real solution is three duplicate spells in the Spellbook.js with a class marker denoting versions?)
1582380739

Edited 1582382540
GM Michael
API Scripter
Homebrew Spells : if your DM is comfortable manually editing json, they're free to do so (or you can, and then give it to them).  Alternatively, you could be the one to populate the spell list.  If you really don't wish to bother them much with this, you could have them create a character sheet and then you could be the one to handle filling out the spell list and then just have them export it and stick it in the API. Divine caster known spells : if you're a 10th level spell caster, why aren't you able prepare 5th level Druid spells? Per PHB 66, "The spells must be of a level for which you have spell slots." PHB164 doesn't appear to countermand that anywhere unless I'm missing something. Also, you should be able to delete them just like any other entry in your spell list. EDIT : Just realized what's implied by their poorly worded example of Ranger 4/Wizard 3.  I... disagree with that rule and it will not be making an appearance at my table.  In any event though, you should absolutely be able to just bring up the knowable spells list [...] under whatever Druid levels you don't have access to and then just purge everything you don't know as a wizard.  This works fine on my end. Duplicated Spell Access : this is why the notes section exists. You can put something like "Prepared by Druid." The search tool will filter based on things in the notes field, in addition to existing fields, and notes are printed when the spell is cast.  Now, I suppose if you wanted to you could rename every spell in the master spell list to be something like "Fog Cloud - Druid" and have duplicates of it. Each would need to have a unique name or all the spell lookups would break, but I could upgrade the code I use to generate the SRD list in the first place to fork the spells at the end right before it writes them to file. That shouldn't be a huge change either.
1582387027

Edited 1582390024
GM Michael
API Scripter
Update : I've gone ahead and made a merge request for an updated version of the SRD.js.&nbsp; The new version automatically includes replicas.&nbsp; For instance, in addition to "Acid Splash," there is now "Acid Splash - Sorcerer" and "Acid Splash - Wizard."&nbsp; This should make multiclassing a bit cleaner. The newest version also supports proper leveling for the Eberron Artificer.&nbsp; They're half-casters, but unlike the others, they have slots at level 1.&nbsp; SpellMaster was giving them no slots as a result. If you want the code before it gets merged, you can always grab it from my fork:&nbsp; <a href="https://github.com/VoltCruelerz/roll20-api-scripts" rel="nofollow">https://github.com/VoltCruelerz/roll20-api-scripts</a>
Thanks for the detailed reply and update. I'll run by the Spellbook.js thing by my DM and see if we can work something out. If I'm populating the House Spells list, I can skip the SRD spells? Meaning I only need to add the Homebrew and Variant versions? (That seems pretty doable; adding everything in the SRD seems a little more... daunting.) I assume when a player creates new homebrew spells, we'd either need to add it to the House Spells sheet and then re-export and update the Spellbook.js, or else would need to directly add it to the json file (if we dare!), right?&nbsp; On multiclass and prep: yeah, the group I play with uses the rule about prepping spells according to your level in the class. (It helps avoid absurd things like my Druid 3/Wizard 7 having access to 5th level spells in both classes; he'd be overpowered for the party, I think. Anyway, I'll try removing the unpreppable Druid spells from my character's spells known list, as you describe; that should do it.&nbsp; Thanks for putting in the labels for duplicate spells from different classes, that will help me (assuming we do go ahead with adding the Spellbook.js and all that)! &nbsp;&nbsp;
Gord S. said: Thanks for the detailed reply and update. I'll run by the Spellbook.js thing by my DM and see if we can work something out. If I'm populating the House Spells list, I can skip the SRD spells? Meaning I only need to add the Homebrew and Variant versions? (That seems pretty doable; adding everything in the SRD seems a little more... daunting.) I assume when a player creates new homebrew spells, we'd either need to add it to the House Spells sheet and then re-export and update the Spellbook.js, or else would need to directly add it to the json file (if we dare!), right?&nbsp; Correct on both counts. Gord S. said: Thanks for putting in the labels for duplicate spells from different classes, that will help me (assuming we do go ahead with adding the Spellbook.js and all that)! Happy to help!
When importing spells, for subclasss, where do we input that information? Or do we just put the main Class in the 'Class' section of the Spell?
I'd just put it in the notes section, if it was relevant for some reason.
1583405877

Edited 1583405950
Can you help me? I just installed this script. But, when I press the button (all button), I go to the following this page. (It's Korean Language. This page mean "Cannot find page.". The other scripts I installed are:
Try without being windowed?
GM Michael said: Try without being windowed? Oh my god. You saved me! Thank you so much! XD
1584365799

Edited 1584366860
My GM updated the House spells list, and somehow something went wrong with my Spellbook handout—the sections for magic items and for Prepared lists are gone. (He also made me a new one afterward, but it's completely blank.) This could just be roll20 issues, but I see&nbsp; "undefinedundefined" at the top of the old spellbook handout, so maybe it's some other kind of error? Any ideas what could be causing that? Thanks!
1584407413

Edited 1584407442
GM Michael
API Scripter
That'd be a caching bug.&nbsp; Have your GM pull up the spell master menu and flush the cache for the affected spell sheets to resolve it for now.&nbsp; Let me know if you can reproduce it please!
Cool, I'll pass that on and let you know what happens!
Hiya, Script appears to be mostly working as it should, and it's amazing — thanks for all the work on it! Two quick questions tho: 1: What's with the "- Cleric" duplications in the spell list (in this book I just made for my cleric)? and 2: Whenever I hit one of the [+] disclosures on an individual spell, my API engine crashes with this error: Any ideas? Thanks! :)
John W. said: Hiya, Script appears to be mostly working as it should, and it's amazing — thanks for all the work on it! Two quick questions tho: 1: What's with the "- Cleric" duplications in the spell list (in this book I just made for my cleric)? and 2: Whenever I hit one of the [+] disclosures on an individual spell, my API engine crashes with this error: Any ideas? Thanks! :) 1. The -cleric versions are duplicates for all intents and purposes.&nbsp; They exist as a way of differentiating having a spell from multiple sources.&nbsp; In that case, Clerics vs generic. 2. Are you running this with the OGL character sheet or the shaped sheet?
1586290789

Edited 1586290822
Thanks Michael. Just this morning I figured out the cause of the API crash — the player had renamed her character. :) (And yeah, OGL 5e sheet) Is there any way to remove the duplicate spells for clarity? cheers, john
John W. said: Thanks Michael. Just this morning I figured out the cause of the API crash — the player had renamed her character. :) (And yeah, OGL 5e sheet) Is there any way to remove the duplicate spells for clarity? cheers, john You should just be able to expand the duplicates and delete them.&nbsp; How'd they get added in the first place?
Heya, I'm wondering if there is a good way to account for Enhanced Arcane Focus for Artificer since it gives +1 to spell attack. The rolls SpellMaster only accounts for INT + PROF in the roll and when I attempt to add an equation into notes it puts&nbsp;$[[0]] in place of anything I put in there and then only returns the first roll. Not sure if I'm missing something to make a +1 work or if there is a better way to do it.
1586553986

Edited 1586554037
GM Michael
API Scripter
Praestrom said: Heya, I'm wondering if there is a good way to account for Enhanced Arcane Focus for Artificer since it gives +1 to spell attack. The rolls SpellMaster only accounts for INT + PROF in the roll and when I attempt to add an equation into notes it puts&nbsp;$[[0]] in place of anything I put in there and then only returns the first roll. Not sure if I'm missing something to make a +1 work or if there is a better way to do it. As with the OGL character sheet's spells page, you can use the global DC modifier in the advanced page of your character sheet. SpellMaster will read that value.&nbsp; You'll need to flush that sheet's cache after updating it so it grabs the new value though.
You should just be able to expand the duplicates and delete them.&nbsp; How'd they get added in the first place? They all showed up after creating the spellbook from scratch using the !SpellMaster walkthrough thing in the chat. Same thing for my wizard.
Huh. I thought I'd blocked it from double adding like that. It should just be adding one or the other.
like&nbsp; Magentablack_r &nbsp;(above)&nbsp; I am getting a page not found error, but not the Korean.&nbsp; I have tried using Chrome and Firefox.
1590407828
Sr. K
Pro
Sheet Author
GM Michael said: Huh. I thought I'd blocked it from double adding like that. It should just be adding one or the other. I'm having the same double adding problem here. Great script by the way!
Question for SpellMaster users. What would you say are the primary benefits to using this script (which looks great) over the OGL spell tracking system? I have three spellcasters in my group, and I'm intrigued by a system that allows better tracking of spell usage, but I don't want to install another script and move them to another system unless the benefits are clearly worth it.
1591221725
Ziechael
Forum Champion
Sheet Author
API Scripter
It has a huge benefit for divine casters or mages with extensive spell books as they can have visibility of ALL the spells without causing potential attribute bloat and therefore lag. They can also set predefined preparation lists for different situations and switch between them with ease. Spontaneous casters tend to be fine with the inbuilt spell tab however, create a test game and play around with it, it's worth a look for sure!
Ziechael said: It has a huge benefit for divine casters or mages with extensive spell books as they can have visibility of ALL the spells without causing potential attribute bloat and therefore lag. They can also set predefined preparation lists for different situations and switch between them with ease. Spontaneous casters tend to be fine with the inbuilt spell tab however, create a test game and play around with it, it's worth a look for sure! Thanks for the insight! I have a wizard, a druid, and a paladin in my group, so this script seems like it's worth checking out.
Hello, relatively new to roll20 and api scripts. In the Setup instructions for SpellMaster-SRD (v 2.005), it says to"Click Install below, as you would with any other script". There is no "Install" to be clicked... So, I clicked on what was there, which was "Add Script". Created the handout as detailed in step 3. When I type !SpellMaster nothing happens. No chat or api console messages. Are there parts of the setup documentation/process that I am missing?
Consecrated - check the link in the first post for part two of this discussion, links to the two files can be found there. Nick Ol;ivo's guide to installing api scripts is helpful if you have never done it: <a href="https://www.youtube.com/watch?v=jam2yx8btaQ" rel="nofollow">https://www.youtube.com/watch?v=jam2yx8btaQ</a>
I just tried to install the SRD and and Spellmaster files but received the following error/api crash from SRD: For reference, the error message generated was:&nbsp; ReferenceError: exports is not defined I would appreciate any suggestions. Thanks.
I didn't try this api scripts yet, but it looks interesting. Only thing I don't like is the look of the default Templates. I already made a lot of macros for Powecards. Is there a way to make this work with powercards? ie by calling a custom macro when casting a spell etc?
I am so close to adopting this script, but the one thing that makes me hesitate is having to manually drag, drop, and then add class names (ugh) for every spell if you've purchased compendium content (as I have -- Mordenkainen's Tome of Foes and Xanathar's Guide to Everything). I know you only do it once at the frontend of the process, but man, that's a lot of tedious work just to get everything present and correct. Is there any kind of automation for this, or a way to speed it up?
John W. said: You should just be able to expand the duplicates and delete them.&nbsp; How'd they get added in the first place? They all showed up after creating the spellbook from scratch using the !SpellMaster walkthrough thing in the chat. Same thing for my wizard. Just installed SpellMaster today and I got the same thing. A bunch of duplicates. Other than that, I really like this script.&nbsp;
Running into an issue with a spell not listing rolling the damage in the spell description (Toll the Dead) when I use the SpellMaster sheet. Every other spell I've tried seems to work fine, but this spell only lists the die roll without actually rolling. When I try to add the die roll as an expression in the Notes field, as suggested, it rolls the die once at time of addition, but then gives the same die result in the Chat window.&nbsp;
After doing some testing, there seems to be some issue with how SpellMaster handles spells without attack rolls (i.e. save DC spells) that aren't from the SRD. I have run into the issue with Toll the Dead on a number of spells from Xanathar's Guide to Everything. I've adjusted everything I can think of in the spell description to resemble an SRD spell and updated the custom spell list script, without success. No matter what I do, I can't get Toll The Dead or any Xanathar spell to auto-roll damage when using SpellMaster. This is kind of a big deal for me. EDIT: OK, I finally figured out how to get those damage rolls to show in SpellMaster. For Xanathar content at least (and perhaps all non-SRD, though I haven't tested it), spells need the "At higher level" words in the description themselves, and for some reason, they don't have it automatically when you drag and drop into the Compendium. So if your spell fits that description, just edit the spell on the Spells tab (or in the big json SpellList, which I was doing to save time while troubleshooting) and make sure "At higher level:" appears after the pipe | in the description. Phew.