morepurplemorebetter/MPMBs-Character-Record-Sheet

Feature Request: Wizard Spell List 'Prepared Only' from all Wizard spells

Smashman opened this issue · 11 comments

At the moment you have to fill in a spell book before selecting 'Prepared Only'. This can be quite annoying when just trying to fill in a simple sheet for a one-shot.

Can there be a mode for Wizards similar to the Cleric spell list creation that let's you choose from all available spells?

Thanks.

If I understand the question correctly, you can hit cancel on that window and it won't select anything. It then brings you do the spell select window which you can select "All available spells" and go from there.

Edit - Oh hey smashman!

I think you misunderstood the question.

If I select 'Prepared Only', no spells are available until I enter some into the spellbook on the previous page. It would be nice if there was a mode that let me select 'Prepared Only' that would allow me to select from all spells without having to prefill the spellbook.

Hey @Shwaffle, it's almost like we're the most obsessed users of the sheet. 😉

Oh I see now. In the second dialog Wizard just shows blank, Cleric actually populates the dropdown.

I would say my interpretation of the reasoning this happens in the sheet is because of the way a cleric handles spells vs a wizard. With a cleric always having the entire spellbook at their disposal (And just changing spells on long rest) and a wizard having to choose spells to add every level, logically you would have to add them to the spellbook before you're able to prepare them. I wonder if the way the spellbook works causes a limitation in that screen.

That's totally the reason, but I just thought it might be good to have a mode that let's you prepare from every possible spell so you don't have to pick the spells then select them again.

Just a feature request for @morepurplemorebetter to mull over for 13.0.0.

I understand what you are requesting, but why not just select the spells you have prepared as your spellbook spells and be done with it. What is the added value of having them 'marked' as being prepared? I know that when you first add them to the spellbook and then select them as the prepared spells you don't get the checkbox in front of each spell, but is the added value of not having this checkbox really necessary if this is just for oneshots and the like? Is it really that much an added value to have the sheet automatically add all possible spells to your spellbook?

I don't really see many scenarios where that might be useful other than the one you are describing. But for the scenario you are describing I would just select the spells prepared as being in the spellbook and be done with it. No need to go and select them all again...

To be honest, I had not considered that, as I always do 'Prepared Only' for Cleric and Druid to ensure that I do not get everything.

The current behaviour is a bit inconsistent, but I guess that's just how the classes behave.

If you are not interested in the feature, that's fair. I will ensure that I only fill in the spell book from here on out.

The problem with the feature you requested is that it would require some new option to be added to the spell selection dialog, a dialog that is already too big for a lot of people's displays. And because there is really no need for the feature, as it is very niche, I don't think I will be coding for it.

If you have a ready code implementation for it, I'm more than happy to consider it, but if I have to make it from scratch I will not give it any priority for now.

Fair enough. Not sure that I can contribute to that area, though. Isn't the form layouts closed source?

All the forms are in the code of this git, here is the code for the spell selection dialog for example. Filling it is controlled by this function.

Oh! How would I build this into the sheet to test?
Thanks.

You would have to define the variable and function again. You can do that with the import. Just define them as you would define a global variable from within a function in JavaScript.

So to (re-)define a global variable:

newVariableName = "something";

And to (re-)define a global function:

newFunctionName = function() {};