Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Illyahr
Senior Member
 
Join Date: Feb 2013
Posts: 357

Old February 24th, 2016, 05:38 PM
As title. I'm working on Prestige Classes from Complete Arcane to add to the Community files and one of them has me at a bit of a loss.

Acolyte of the Skin requires "Spells or Spell-like ability at caster level 5th." The way it is worded is supposed to allow arcane, divine, or even warlocks to enter. I saw that Blood Magus has the same prereqs, but that's when I noticed that it doesn't work. It only counts the caster level if the class actually has arcane spells.

Druids don't work, warlocks don't work. What needs to be changed to make it work?

Current coding:

var result as number
foreach pick in hero from BaseClHelp where "CasterSrc.Arcane"
if (each.field[cCasterLev].value >= 5) then
result += 1
endif
nexteach

I tried adding "& CasterSrc.Divine" to the foreach search, but, even though it recognized the command, it didn't work when I tried using a divine caster.

Second problem, the classes advance caster level for the respective classes. How, if I am a warlock, do I add to the warlock xInvoke value (thus increasing my "caster level") and turn off the boost to spells/day and spells known?
validif (result >= 1)
Illyahr is offline   #1 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,147

Old February 25th, 2016, 04:57 AM
Quote:
Originally Posted by Illyahr View Post
As title. I'm working on Prestige Classes from Complete Arcane to add to the Community files and one of them has me at a bit of a loss.

Acolyte of the Skin requires "Spells or Spell-like ability at caster level 5th." The way it is worded is supposed to allow arcane, divine, or even warlocks to enter. I saw that Blood Magus has the same prereqs, but that's when I noticed that it doesn't work. It only counts the caster level if the class actually has arcane spells.

Druids don't work, warlocks don't work. What needs to be changed to make it work?

Current coding:

var result as number
foreach pick in hero from BaseClHelp where "CasterSrc.Arcane"
if (each.field[cCasterLev].value >= 5) then
result += 1
endif
nexteach

I tried adding "& CasterSrc.Divine" to the foreach search, but, even though it recognized the command, it didn't work when I tried using a divine caster.
I'll take a look at the Blood Magus, as that might be a bug.

To help with your situation, there is a herofield you can use that will tell you what the character's highest caster level is:

validif (herofield[tMaxCaster].value >= 5)

The problem with this is that it doesn't cover the Warlock or anyone with Spell-like abilities. I have no easy solution for the SLA's. That might have to wait until we have a more normalized process for creating them. For the Warlock, you can look at the Invocations special (this should really be changed to be more universal, but that's a separate issue):

validif (hero.childfound[xInvoke].value >= 5)

Quote:
Originally Posted by Illyahr View Post
Second problem, the classes advance caster level for the respective classes. How, if I am a warlock, do I add to the warlock xInvoke value (thus increasing my "caster level") and turn off the boost to spells/day and spells known?
validif (result >= 1)
You need to increase the Value of xInvoke prior to Post-Levels(Users)/10000 with a simple script:

hero.childfound[xInvoke].value += X

To modify the boost to spells/day and spells known, you have to modify an array:

field[cMagLevTot].arrayvalue[X] -= 1 where X equals level-1 of the level you want to modify.

This should hopefully get you going in the right direction. If you have any more trouble, let me know and I'll delve deeper into this. I suspect you may have to use a class special chooser to decide if you want to add to Warlock levels or a caster class.
Sendric is offline   #2 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old February 25th, 2016, 08:08 AM
Quote:
Originally Posted by Sendric View Post
validif (hero.childfound[xInvoke].value >= 5)

hero.childfound[xInvoke].value += X
I think you are missing part of the info for these two scripts. You need a 'field' which I assume is "Value". I assume its a simple copy/paste issue as your first script was a herofield[].

Code:
validif (hero.childfound[xInvoke].field[Value].value >= 5)

hero.childfound[xInvoke].field[Value].value += X
Assuming that is true I like to use the macro as its shorter:
Code:
validif (#value[xInvoke] >= 5)

#value[xInvoke] += X

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #3 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,147

Old February 25th, 2016, 09:20 AM
Quote:
Originally Posted by ShadowChemosh View Post
I think you are missing part of the info for these two scripts. You need a 'field' which I assume is "Value". I assume its a simple copy/paste issue as your first script was a herofield[].

Code:
validif (hero.childfound[xInvoke].field[Value].value >= 5)

hero.childfound[xInvoke].field[Value].value += X
Assuming that is true I like to use the macro as its shorter:
Code:
validif (#value[xInvoke] >= 5)

#value[xInvoke] += X
Not even copy and paste. I just wrote it wrong. Many an error has been made that way.

I didn't know that macro existed, though I probably should have. Thanks.
Sendric is offline   #4 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old February 25th, 2016, 09:24 AM
Quote:
Originally Posted by Sendric View Post
I didn't know that macro existed, though I probably should have. Thanks.
In addition there is a #value2[], #value3[], and #value4[] to doing the same things to the Value2, Value3, and Value4 fields.

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #5 Reply With Quote
Illyahr
Senior Member
 
Join Date: Feb 2013
Posts: 357

Old February 25th, 2016, 01:15 PM
Thanks for the replies, I'll see if I can get them to work.

As far as I can see, the 'warlock as an arcane caster' thing is a problem with several of the Prestige Classes in the Complete Arcane. They boost arcane casting ability, but warlocks don't use the standard spells per day/spells known setup that most other arcane classes use. All of their custom class abilities run on their xInvoke line.

There will have to be some kind of helper thing that lets you choose whether you boost spells as normal or add to the xInvoke value but I can't think of how to parse it. Or maybe a thing embedded in the warlock class itself that adds extra magic levels to its xInvoke value?

EDIT: tMaxCaster line works to allow divine casters! I added the Arcane tag to the warlock so now the script finds it when checking for class caster level. Since it doesn't have spells, it won't show up when checking for spell levels, which is how it is supposed to work according to the material. However, since it doesn't have spells, you can't add the extra magic levels to warlock.

Looks like it will need a class helper to choose magic levels or warlock xInvoke.

Last edited by Illyahr; February 25th, 2016 at 02:21 PM.
Illyahr is offline   #6 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:23 AM.


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