• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Selectable use of *Extend Thing options

Redcap's Corner

Well-known member
I have a custom subschool of magic, and I want it to be optionally retroactively applied to a number of published spells. I made the subschool without issue. I was able to use the "*Extend Thing" tab to implement the addition without issue. The problem is that I'd like to set up the retroactive application of this subschool so it's only used on characters that select the option from the source list, same as many published optional subsystems are selected. *Extend Thing doesn't seem to support sources, and it's my understanding that I couldn't cheat similar *Extend-esque code into the program without burying it in an option that would have to be added to the character somehow. Is that right?

Also, on a related note, is there a negative equivalent to the *Extend Thing tab? Some of the spells that would retroactively gain this subschool would need to lose an existing subschool, but I can only add tags with *Extend, not remove them, right?

Is the answer just to make a file with a bunch of modified versions of existing spells that overwrite the originals, setting each up with the custom source that would allow the subschool to be retroactively applied?
 
Last edited:
Actually, it looks like my non-preferred solution, posited at the bottom of the last post doesn't even work. It looks like if I copy a spell and make some changes, including giving it a new selectable source, and then tell it to replace the original version, it does it even for characters who don't select that source, effectively just removing the spell from their available options entirely. What can I do here? I have an optional subsystem that wants to make changes to some existing spells, but still wants to be optional on the user level!
 
Have you tried Preclude instead of Replaces thing? I seem to recall Replaces functions no matter the source, but preclude works with the source...
 
Your best way to make this happen is to copy the whole game system. This way you can do all your "Replace Thing ID" for all these spells but still have the original version of Pathfinder. When you start HL you would have two different Pathfinder game systems to choose. One setup for CORE and one with your houserules.

Otherwise if you "preclude" a spell and that spell is bootstrapped to make a spell-like ability or used in a gizmo for a wand you will have issues.

And no you can't REMOVE tags from a Thing. Extend can only be used to add tags. :(
 
Shadow,

Do you have some code examples on how the extend works?

As an example of what I'm looking for is: adding witch hexes to malefactor maledictions, so that the Malefactor sees witch hexes as maledictions, and witches continue to see them as hexes.
 
Your best way to make this happen is to copy the whole game system. This way you can do all your "Replace Thing ID" for all these spells but still have the original version of Pathfinder. When you start HL you would have two different Pathfinder game systems to choose. One setup for CORE and one with your houserules.

Otherwise if you "preclude" a spell and that spell is bootstrapped to make a spell-like ability or used in a gizmo for a wand you will have issues.

And no you can't REMOVE tags from a Thing. Extend can only be used to add tags. :(

I'm not sure that's a feasible option for me. I'd like to make these files available to the public at some point to support the eventual publication of the material my team and I are working on. Here's a thought, though: Would it be possible to make an adjustment that, when activated, made the changes, or would that only affect Picks, leaving Things unchanged when previewed before being added to the character?
 
or would that only affect Picks, leaving Things unchanged when previewed before being added to the character?
Correct. To change tags on a Pick only Extend can do that. No script can affect a Pick only Things.

Making large scale rule changes gets sort of hard because you often run into a situation where you can't easily "turn off" the changes.

Even using Replace Thing ID is dangerous if you plan to distribute because you can only have ONE replace thing id. So if in my own .user files I replace the same thing you do then HL will error out and fall into safe mode. :(

In addition as you found "Replace Thing" happens WAY before any source is checked.
 
Ok, how would I use this syntax to create a category for a series of abilities that did not already exist (the category).

Then I want to add the witch's hex category and combine them.

Basically, add all Witch Hexs and re-categorize them as Maledictions, but there is no pre-existing malediction category.

Or otherwise make witches hexes available to the malefactor as maledictions using the least amount of effort code-wise.
 
The easiest way to do that doesn't even need *Extend thing. Just setup your maledictions as a custom ability in your class as normal, and then select "witch" (the one with the tag id of "AllowCust.cHelpWit") using the "Allow Custom Abilities..." button.

If you've never setup custom abilities before, just hit the button that says "Custom Ability Count", and for each level you'd gain a malediction, put the number that corresponds to the total number of maledictions you should have at that level. Remember that "row 0" is level 1, so all the row numbers are one lower than the level they correspond to. So, if you gain 1 at every even level, row 1 should say "1", row 3 should say "2", etc. Then, type "Malediction" where it says "Custom Ability Name" and "Maledictions" where it says "Custom Ability Plural".

Voila!
 
Unfortunately, there is an official TPK Malefactor product -- and I don't think I can modify that, so I'm relegated to 1) building a whole new one, or 2) expanding what was already built -- since I don't think TPK is going to re-release the Malefactor.
 
Unfortunately, there is an official TPK Malefactor product -- and I don't think I can modify that, so I'm relegated to 1) building a whole new one, or 2) expanding what was already built -- since I don't think TPK is going to re-release the Malefactor.
If this comes in a .user file and they never plan to update it. Why can't you modify it? Even if its sold by LW you can use Replace Thing ID to replace the stuff that does not work especially if they never plan to fix it.
 
Well, you should be able to accomplish the same thing through *Extend. Just create a new "*Extend", then hit the "find thing" button and select the malefactor. Then put "AllowCust" in the next box and "cHelpWit" in the final one. *Extend is just adding a tag to an existing thing, and I'm pretty sure all you need to do is add the AllowCust.cHelpWit tag to the class to achieve what you want to do. It's likely several options will come up for "malefactor", but you want the one with an id that starts with "cHelp" (if I'm not mistaken). Mind you, I'm not at a computer with Hero Lab currently, so I apologize if my memory for the details is failing me here. Good luck!
 
Well, you should be able to accomplish the same thing through *Extend. Just create a new "*Extend", then hit the "find thing" button and select the malefactor. Then put "AllowCust" in the next box and "cHelpWit" in the final one. *Extend is just adding a tag to an existing thing, and I'm pretty sure all you need to do is add the AllowCust.cHelpWit tag to the class to achieve what you want to do. It's likely several options will come up for "malefactor", but you want the one with an id that starts with "cHelp" (if I'm not mistaken). Mind you, I'm not at a computer with Hero Lab currently, so I apologize if my memory for the details is failing me here. Good luck!
I think you mean "SpecSource.cHelpWit" not AllowCust which is used for Configurables. In addition to 100% compatible you need to add the abCategory.WitHex as different scripts use abCategory not the SpecSource tag group.

If you add a level of Witch and look at the Witch's class helper it will show you the custom expression its using. Look in debug for the field cCstSpExpr for the Witch Hexes and cCstS2Expr for the Witch Patrons. That is what HL is expecting.

I am really not sure what else to say about Extend. It adds Tags to Things. That is ALL it does. :)
 
Hey Quintain, I've done a bit of work on updating the Malefactor, would you like to take a look?
 
Last edited:
If this comes in a .user file and they never plan to update it. Why can't you modify it? Even if its sold by LW you can use Replace Thing ID to replace the stuff that does not work especially if they never plan to fix it.

Well, I don't know if they plan on updating it.. but I'm just assuming, and I'm also unsure on where IP rights come in for this product.

Hey Quintain, I've done a bit of work on updating the Malefactor, would you like to take a look?

Sure. Did you start with your own file or did you modify the original?
 
Well, I don't know if they plan on updating it.. but I'm just assuming, and I'm also unsure on where IP rights come in for this product.
Unless you are planning to resell it you have nothing to worry about.

You could even fix it all up and give it back to the company so they could share the fixed product with everyone. :)
 
Back
Top