Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 3rd, 2024, 12:27 PM
I'm working on a Pathfinder conversion for the 3.5 Dread Necromancer for my home game, with base work started from the 3.5 version out of the community created files there, and converting syntax to Pathfinder. I have run into an issue with Advanced Learning. I've searched the forums, and have not turned up any success. I've looked into a similar ability, the Magus Arcana of Spell Blending, and have tweaked the scripts, however, I have two issues:

1) Not sure how to adjust this code to restrict things to Necromancy.
Code:
field[usrCandid1].text = "component.BaseSpell & (sClass.cHelpWiz | sClass.cHelpClr) & !sClass.cHelpDrN & (val:sLevel.? <= " & linkage[table].field[cMaxSpLev].value & ")"
2) Even without the Necromancy restriction this should only pull Wizard/Cleric Spells, but instead generates a list of pretty much everything and then returns this error when any selection is made:
Quote:
Syntax Error in dynamic 'candidate' tag expression.
---
Link picks 'table' not located for current context
Here are the two scripts taken from Spell Blending and tweaked:
Code:
Post-Attributes / 30000 / 1

      ~ generate the expression saying what spells we're able to search for
      ~ we're looking for spells that are wizard or cleric spells but not dread necromancer spells and are of a level we can cast
      field[usrCandid1].text = "component.BaseSpell & (sClass.cHelpWiz | sClass.cHelpClr) & !sClass.cDreadNecr & (val:sLevel.? <= " & linkage[table].field[cMaxSpLev].value & ")"
      field[livename].text = "(Advanced Learning)"
Code:
Post-Levels / 5000 / 1

      ~ If we're disabled, do nothing
      doneif (tagis[Helper.SpcDisable] <> 0)

      ~ if we've chosen something, add that spell to the spells we're allowed to
      ~ choose for our spellbook.
      if (field[usrChosen1].ischosen <> 0) then
        perform field[usrChosen1].chosen.pulltags[ClsAllowSp.?]
        perform linkage[table].pushtags[ClsAllowSp.?]
        endif
I'm pretty sure it's the "linkage[table]" in the two scripts but I'm not sure what I'm missing there. - I set the tags like Spell Blending (where applicable) including this tag:
Code:
ChooseSrc1 - Thing
Which turned on the "Restrict First List from" and set it to "All things" Which matches what I can see on Spell Blending.

Obviously I'm missing something, but not sure what, and hoping for some guidance.

I also suspect I may need to change that second script as this class is spontaneous and adds to "Spells known" instead of spells allowed, but not sure if that's required.

Thanks for any assistance anyone can provide.

IF it makes any difference, this ability is a "Class Special" and not "Custom Ability" but since it's not an ability choice, just an ability with a choice, that seemed like the right location.

Last edited by Eilserves; April 3rd, 2024 at 12:51 PM.
Eilserves is offline   #1 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old April 3rd, 2024, 12:40 PM
I don't have time to investigate this in detail right now, but I do have an answer for #2 - that error message means you have a typo in your candidate expression, so HL doesn't understand what restriction you're trying to apply, so it just defaults to an un-restricted selection.
Mathias is online now   #2 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 3rd, 2024, 01:04 PM
Thanks Mathias, I suspected already I had something in there incorrect, but I'm not sure what. I did update the code to clean up a little (changed reference information in the commented fields) - edited above, but it was only commented stuff. I double checked the script from Spell Blending and other than my piping in the Cleric class and changing the "not" to Dread Necromancer instead of Magus, I can't see what I've gotten wrong/different.
Code:
      ~ generate the expression saying what spells we're able to search for
      ~ we're looking for spells that are wizard spells but not magus spells and
      ~ are of a level we can cast
      field[usrCandid1].text = "component.BaseSpell & sClass.cHelpWiz & !sClass.cHelpMag & (val:sLevel.? <= " & linkage[table].field[cMaxSpLev].value & ")"

      ~ whether this is the one spell version or the two spell version is
      ~ extraneous now that we've chosen it
      field[livename].text = "Spell Blending"
Here's the base code I copied/tweaked.
Eilserves is offline   #3 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old April 3rd, 2024, 01:29 PM
Is your thing attached to the class the same way as what you're copying? There's lots of ways to add an ability to a class - class specials that are directly bootstrapped by the class, custom abilities, chosen by the user, or a class special added by an archetype.
Mathias is online now   #4 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 3rd, 2024, 03:07 PM
Not exactly as what I'm copying from. The Spell Blending is a Magus Arcana and therefor an optional pick, whereas this is a flat class feature that lets the class pick one Necromancy spell from the Cleric or Wizard list that's not already on it's own list, of a level it can cast. This happens at 4, 8, 12, 16 and 20. The class ability itself is showing up at the correct levels and presenting a drop down, just not generating the right choices. I'm only working in depth on the level 4 effect at the moment, but once I get that code sorted it should, in theory, work on the other levels too.
Eilserves is offline   #5 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old April 3rd, 2024, 04:20 PM
linkage[table] is a transition from a user-added pick to the pick whose table it was added to, and won't work on a pick that was bootstrapped. You'll need to do some research - figure out what the correct transition is in that case.

Doesn't the PF1 version have something you can look at, to see how they accomplished this?
Mathias is online now   #6 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 3rd, 2024, 04:59 PM
I presume you mean the 3.5?
It was a flag:
Code:
usrCandid1 / component.BaseSpell & sSchool.Necromancy & (sLevel.1 | sLevel.2) & (sClass.Cleric | sClass.Wizard)
And a script:
Code:
Post-Attrbutes / 15000 / 1

doneif (field[usrChosen1].ischosen = 0)
doneif (#levelcount[DreadNecr] < 4)

root.field[cSpellExpr].text &= " | " & "thingid." & field[usrChosen1].chosen.idstring
Unfortunately, this did not work, the drop down has "Nothing to select" which is what got me looking into the Spell Blending for inspiration.

Of note, I did also try changing the flag to this:
Code:
component.BaseSpell & sSchool.Necromancy & (sLevel.1 | sLevel.2) & (sClass.cHelpClr | sClass.cHelpWiz)
But that still did not populate the dropdowns.

Last edited by Eilserves; April 3rd, 2024 at 05:02 PM. Reason: More details
Eilserves is offline   #7 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 3rd, 2024, 06:40 PM
Some additional messing around/testing has narrowed the code that was in the 3.5 version down to the parentheses it seems.

I took this bit and as part of just trying to understand the code, stripped the parentheses and removed the second choices from each, which worked.
So this original entry for usrCandid1
Code:
component.BaseSpell & sSchool.Necromancy & (sLevel.1 | sLevel.2) & (sClass.cHelpClr | sClass.cHelpWiz)
.
doesn't work, but this:
Code:
component.BaseSpell & sSchool.Necromancy & sLevel.2 & sClass.cHelpClr
does, albeit in that format it limits it to level 2 spells instead of just spells up to my level.

Is there a different format for the multiple options? I tried it without the parentheses but still having the pipes and it goes back to an unfiltered list of all things. Further, will a "!sClass.xxxx" in said multiple choice work to ensure it doesn't list spells already on my spell list?

Also - sSchool.Necromancy seems to be the answer to question #1.
Eilserves is offline   #8 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old April 4th, 2024, 10:03 AM
OK so... fixed..
The code that was originally there works but it had an errant line break at the end after (sClass.cHelpClr | sClass.cHelpWiz). Thanks for being my rubber ducky Mathias.
Eilserves is offline   #9 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 09:18 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.