Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game

Notices

Reply
 
Thread Tools Display Modes
Mediator9292
Member
 
Join Date: Apr 2018
Location: New York
Posts: 45

Old November 24th, 2020, 12:20 PM
Unsure if anybody has coded for this yet (can't find it in the Community Repository), but I'm trying to create a Variant Multiclassing option for Kineticist. How do I edit the class's special abilities? Are their Field IDs visible somewhere that I could use as a reference?
--------------------------------------------------------------
Progressing along on getting the class abilities to manifest with access to the talents and infusions, but I'm struggling to figure out the Eval Scripts to manage effective levels for various abilities (treating Kinetic Blast as if their Kineticist level was their character level -6, or Elemental Defense as if their Kineticist level was 1/2 their character level, for example).

I used the VMC Sorcerer/Barbarian/Bard files for reference, but the closest script I can find to even get started is:

efflevel = field(cTotalLev).value

and yet Hero Lab stops compiling even with this simple script because:

Syntax error in 'eval' script for Thing 'csKinetici' (Eval Script '#1') on line 2
-> Invalid use of reserved word 'field' in script

Can anybody recommend some sample script to experiment with?

Last edited by Mediator9292; December 8th, 2020 at 03:05 PM. Reason: Solved some basic issues on my own, have harder, more specific ones now.
Mediator9292 is offline   #1 Reply With Quote
Mediator9292
Member
 
Join Date: Apr 2018
Location: New York
Posts: 45

Old March 21st, 2023, 08:09 PM
Ok I've made a lot more progress in this since then, but now I'm trying to make it so that the Kineticist Defense (abCategory.KinetDefen) ability is hidden until level 15. I've tinkered with a few options for how to achieve this via eval script, but I can't seem to make it work.

Code:
doneif (field[cTotalLev].value < 15)
perform hero.assign[HasAbility.abCategory.KinetDefen]
or

Code:
foreach pick in hero from BaseCustSp where "abCategory.KinetDefen"
 if field[cTotalLev].value < 15
  perform eachpick.assign[Hide.Statblock]
nexteach
 endif
Is there an easy way to accomplish this?

I know the KinetDefen abilities are tagged to the chosen Elemental Focus (KinetElem.X) and automatically kick in at effective level 2, but I need the Elemental Focus (and connected Basic Utility Wild Talent) to be chosen at Level 3, so that the Kinetic Blast ability can be gained at Level 7. I've currently got it successfully coded so that the user's effective Kineticist level is 1/2 their character level.
Mediator9292 is offline   #2 Reply With Quote
Lord Magus
Senior Member
 
Join Date: Jan 2011
Location: Quebec, QC, Canada
Posts: 464

Old March 23rd, 2023, 03:10 AM
Timing of those scripts?
Total level count is available around Levels 10000... anything referring to it before that timing is not going to work.
Lord Magus is offline   #3 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,207

Old March 23rd, 2023, 08:44 AM
Your code has many syntax errors. In the first script, in the assign, that must be two strings, separated by a . - you have three strings, separated by 2 periods.

In the second, you close the foreach with a nexteach, but the if that's inside the foreach is closed outside the foreach/nexteach.

Also in the second, the parentheses in the if line are missing.
Mathias is offline   #4 Reply With Quote
Mediator9292
Member
 
Join Date: Apr 2018
Location: New York
Posts: 45

Old March 27th, 2023, 10:50 AM
Ok, I made a few changes, and for reference, I have this eval script set at Levels/11000, per Lord Magus' advice.

My first option wound up like this:
Code:
doneif (field[cTotalLev].value < 15)
perform hero.assign[HasAbility.KinetDefen]
However, this led to an error message saying that 'HasAbility.KinetDefen' is not defined, which makes sense to me as it's not an ability, but a class category which contains abilities, one of which is effectively picked at level 3 after choosing the elemental focus.

My second option wound up like this:
Code:
foreach pick in hero from BaseCustSp where "abCategory.KinetDefen"
  if (field[cTotalLev].value < 15) then
    perform eachpick.assign[Hide.Statblock]
  endif
nexteach
I didn't get any error messages with this one, but the ability still appeared on the Specials and In-Play tabs, regardless of level. I figured maybe the Statblock location was too specific, and changing Hide.Statblock to just Hide would work, but it just displayed that it was a syntax error as well.

I figured a third option would be to just delete the granted ability until level 15, so I wound up experimenting with this block of code instead:
Code:
foreach pick in hero from BaseCustSp where "abCategory.KinetDefen"
  if (field[cTotalLev].value < 15) then
    perform eachpick.delete[abGranted]
  endif
nexteach
However, as can be expected, I got another error message that it was "Invalid syntax for tag template".

So I'm still stuck. Any more ideas?
Mediator9292 is offline   #5 Reply With Quote
Reply

Thread Tools
Display Modes

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 10:07 PM.


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