View Single Post
Bob G
Senior Member
 
Join Date: Nov 2017
Location: Trafford, PA, USA
Posts: 226

Old January 23rd, 2018, 05:02 AM
Quote:
Originally Posted by Aaron View Post
I don't see how you would represent that, even if you got your selector choosing among the correct spells, unless you had one selector for every possible spell, because HL evaluates the character every time you change something.

For example, say you have your single selector, and you want to mark your choice by assigning a tag when you select a spell, and you've set it up so that your candidate expression for the chooser will not allow your to choose something with this new tag you created.

You add your ability, and you have 3 spells memorized right now, Spell A, B, and C. The tag you assign is Custom.NoPick2x.

On the character, you go to the ability in question and click on the selector, no selection has been made, no tag is assigned, you can choose any of the 3 spells. You make the selection, choosing Spell B, so HL runs an evaluation and your ability assigns Custom.NoPick2x to Spell B. Now you click on the selector again, no change has been made to the character so no evaluation is run yet and you see Spells A and C for selection but not Spell B (since it was assigned that tag last evaluation). As soon as you select either A or C, another evaluation runs and your eval script assigns Custom.NoPick2x to the new choice, and Spell B no longer has that tag. With a single selector applying a tag, there is no way to make your choice "sticky".

There are some things which retain information across evaluations, like user choices (what abilities have been added, what selections the user has currently selected for their abilities), and certain types of fields. Unfortunately, you can't define new fields on a pick, and even if there is a user field not currently being used (say one which relates to, for example, a variant spellcasting system from Pathfinder Unchained), its probably not a good idea to be co-opting it for whatever ability you are making here.

So the only way I can see that you have access to, would be to make this selector be on an ability which could be added as many times as the user needed, for example, through a configurable. The problem is, this is both wasteful and highly annoying to track, if you are expecting the user to add a new ability and select a new spell every time they use this ability. Then delete all the abilities when they rest just to do it all over again the next game day.

It just doesn't strike me as worth the effort for you to code, or your user to use. If you absolutely must have some record of which spells have been burned today, have them note it down on the Personal tab, or add a user text field to the ability and have the user manually type each spell marked off and erase the text at the end of each day. At least that is only one step per use, and a single step at the end of the day (rather than n*2 + n steps for add ability, make selection, delete ability).
Okay, that makes sense. I guess what I can do is create a usr field that allows user to select a spell level. This selection will be used to power the various abilities the class has. The user can then manually select which spell will be burned to fuel the ability. Let me give that a try and see how it turns out.

Thanks as always for your valuable input!
Bob G is offline   #20 Reply With Quote