• 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

VMC: Kineticist - Help!

Mediator9292

Well-known member
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:
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.
 
Timing of those scripts?
Total level count is available around Levels 10000... anything referring to it before that timing is not going to work.
 
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.
 
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?
 
Back
Top