• 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

I'm back with more questions

Lawful_g

Well-known member
I have a class that gains Greater Weapon focus at a certain level, even without meeting the prerequisite (8 fighter levels).... I have been trying to assign the thing.skipprereq tag to the feat, as mentioned in the help files, but having no luck

This is in the Eval Scripts box. First, 100 (although I have not messed around with the at all yet, I don't think that is the problem)

var result as number
foreach pick in hero where "field.[fGrWepFoc]"
result = eachpick.assign[thing.skipprereq]
nexteach

I am getting an error message "invalid tag expression specified for "foreach" statement"
 
Also, where are the pathfinder files? I wanted to see some of the scripting for the Pain Taster, but can't find the files.
 
How do I check for the existance of a specific spell as part of a pre-requisite? For example, the spell "Cheat" I have been trying the following:

@valid = 0
if (hero.child[cHelpSor].field[Thing Identify].sSorCheat = 1) then
@valid = 1
endif

Thing Identify is not recognized by the program (I found it on the tag summary for the cheat spell on the sorceror tab), what should I put there?
 
I am entering some materials currently, and would like to have the material check if the weapon is slashing or piercing, then if so, add +1 enhancement bonus to the damage. Here is the code I am using:

Eval Script
First, Users (20,000)
~ If we are a slashing or piercing weapon, increase our damage by 1.
if (container.parent.tagis[wType.S] + container.parent.tagis[wType.P] <> 0) then
container.parent.field[BonEnhance].value += 1
endif

However, no modifier to damage is being applied....

I figured it out, it was a timing issue. For other's reference, the script I ended up with was

Post Levels (User) 11000
~ If we are a slashing or piercing weapon, increase our damage by 1, does not stack with enhancement.
if (container.parent.tagis[wType.S] + container.parent.tagis[wType.P] + container.parent.tagis[wTypeOff.S] + container.parent.tagis[wTypeOff.P] <> 0) then
if (container.parent.field[BonEnhance].value = 0) then
container.parent.field[wDamBonus].value += 1
endif
endif
 
Last edited:
I have a class that gains Greater Weapon focus at a certain level, even without meeting the prerequisite (8 fighter levels).... I have been trying to assign the thing.skipprereq tag to the feat, as mentioned in the help files, but having no luck

This is in the Eval Scripts box. First, 100 (although I have not messed around with the at all yet, I don't think that is the problem)

var result as number
foreach pick in hero where "field.[fGrWepFoc]"
result = eachpick.assign[thing.skipprereq]
nexteach

I am getting an error message "invalid tag expression specified for "foreach" statement"

You don't need to use a script for this - if you're bootstrapping the feat, just click the Bootstraps button and add a tag to it. The group should be "thing", the tag should be "skipprereq".
 
Also, where are the pathfinder files? I wanted to see some of the scripting for the Pain Taster, but can't find the files.

Just make a copy of the Pain Taster class (or template, or whatever it is) using the "New (Copy)" button in the editor, and you can look at the scripts there.
 
How do I check for the existance of a specific spell as part of a pre-requisite? For example, the spell "Cheat" I have been trying the following:

@valid = 0
if (hero.child[cHelpSor].field[Thing Identify].sSorCheat = 1) then
@valid = 1
endif

Thing Identify is not recognized by the program (I found it on the tag summary for the cheat spell on the sorceror tab), what should I put there?

If all you're trying to check is whether the spell has been added to the hero, I think you can just do:

@valid = hero.pickexists[sSorCheat]

This assigns 1 to @valid if the pick exists, 0 if it doesn't. I'm not sure what you're trying to do with "Thing Identify", but you don't need to do anything that complicated. :)
 
Thanks Colen. I'll give those a try. I'm always impressed with how helpful you guys are. You can be sure I'll have more questions before long.
 
K. So I have another question. I am bootstrapping spells to feats because they are automatically gained when you get such a feat, but I am having trouble with the Spell tab in herolab. These are Sorceror spells. The bootstrapped spells are grayed out and claim that all spells of that level have been used, even though the spells normally chosen by the player show they have the correct amount left.

I have discovered that the sCastLeft field for the bootstrapped spells is always 0. It appears also that the Task Lisk info windows differ between bootstrapped and normally chosen spells, as the bootstrapped are missing a task at "First (500) Existance condition"

I think perhaps the sCastLeft field is probably calculated in that missing task. I know that there is a button in the editor when you are bootstrapping called "Fields", and I can arbitrarily assign a number to this field there, but then it does not change with clicking on the arrows to use the spell, and it is still independant from the normally chose spells, that decrease normally with usage.

So how do I restore proper function to the bootstrapped spells? Do I need to get the Existance Condition task running?
 
Last edited:
Second question. I have a race called tinker gnome that has a racial ability called Guild affiliation. The player chooses from Craft, Technical, or Sage guild and gains a +2 racial bonus on the associated skills (Craft, Profession, and Knowledge respectively).

Feats have a "select from" option that you can choose skills with, but I can't figure out how to make a special that can do a similar thing.

Alternately, I tried to make a feat that is only available to Tinker Gnomes that I could bootstrap to them, but I could not figure out 3 issues.

One, how do I limit it to just the skills I want selectable? Traits have a mechanism where you enter into the Custom expression to limit to a few skills. EX: thingid.kKnowNoble|thingid.kKnowRel

Two, how do I make AllCraft, AllKnow, AllProf show up rather than just individual skills of that type? While there is no error when I add these in, I run into another stumbling block in the next step.

Three, how do I add a bonus to the chosen skill so it shows? For number three, there is Skill Focus to use as a reference, but it is not quite working with the things I am trying for the solving of 1 and 2. There is no error upon compiling, but when I select either of the limited selections I get an error message:

"Attempt to access pick information or behaviors for read only thing 'SKILLNAME'
Location: Procedure 'fTargetFoc' near line 6"

And no bonus is added. I've tried shifting around the timing for the eval script to no avail. I have also tried attacking it from a different angle, using the bit of code gotten from the traits where I found the solution to One as well:

perform field[fChosen].chosen.forward[ClassSkill.?]

... but I am not having any luck modifying it to add a bonus, getting an "invalid use of reserved word in script", an error that I frequently see.

For example, I am doing:

hero.field[fChosen].chosen.field[Bonus].value += 2

Also tried:

#skillbonus[fChosen] += 2

But then it doesn't recognize fChosen as being anything
 
Last edited:
Seperate instance from above:

Is it possible to have a feat have 2 drop down selections for player choice? Education allows you to select 2 knowledge skills that you gain a +2 bonus to. Just thought I would ask for future. If it is not possible, I will make a version of the feat for each Knowledge skill, then the players can select the second skill they want to get a bonus in, although this is dependent on the above limited/skill selection and give bonus problem being solved.
 
Second question. I have a race called tinker gnome that has a racial ability called Guild affiliation. The player chooses from Craft, Technical, or Sage guild and gains a +2 racial bonus on the associated skills (Craft, Profession, and Knowledge respectively).

Feats have a "select from" option that you can choose skills with, but I can't figure out how to make a special that can do a similar thing.
Try the custom abilities - you can make an ability for each of the guilds, tell the class that it gets one at first level, and no others, and then let the user select the one they want.
 
perform field[fChosen].chosen.forward[ClassSkill.?]

... but I am not having any luck modifying it to add a bonus, getting an "invalid use of reserved word in script", an error that I frequently see.

For example, I am doing:

hero.field[fChosen].chosen.field[Bonus].value += 2

Also tried:

#skillbonus[fChosen] += 2

But then it doesn't recognize fChosen as being anything

For the first, don't use hero. - the fChosen field you're trying to look up is on the feat, which is presumably where the script is.

For the second, try #skillbonus[field[fChosen].chosen] += 2, I think that's probably the correct way to access it (I haven't tested it yet).
 
Try the custom abilities - you can make an ability for each of the guilds, tell the class that it gets one at first level, and no others, and then let the user select the one they want.

Can races bootstrap custom abilities? I didn't think that was possible.
 
For the first, don't use hero. - the fChosen field you're trying to look up is on the feat, which is presumably where the script is.

For the second, try #skillbonus[field[fChosen].chosen] += 2, I think that's probably the correct way to access it (I haven't tested it yet).

Number 1 does not give any errors on compile, but when select the skill in HL, get an error
"Attempt to assign field value with no pick context"

Number 2 gives me "non-existant thing 'field' used by script"
 
Number 1 does not give any errors on compile, but when select the skill in HL, get an error
"Attempt to assign field value with no pick context"

Number 2 gives me "non-existant thing 'field' used by script"

I tried this myself, and can't get past the same problem for #1

Thinking about it further, #2 shouldn't work even if the syntax was right - the ALLXXX things aren't skills, they're just value holders that get added to the skills.

For now, you can probably go with three feats with the following in their script:
hero.child[AllCraft].field[Bonus].value +=2

(of course replaing it with profession and knowledge skills for the others).

Each feat can have a expr-req to restrict it to the race, and if you start the unique ID of each feat with the same characters that aren't used anywhere else:
fTinkGnCra
fTinkGnKno
fTinkGnPro

you can put an expression requirement on the race that:
hero.tagcount[HasFeat.fTinkGn?] = 1
(which means that it has exactly one feat whose unique ID starts with "fTinkGn")
 
I tried this myself, and can't get past the same problem for #1

Thinking about it further, #2 shouldn't work even if the syntax was right - the ALLXXX things aren't skills, they're just value holders that get added to the skills.

For now, you can probably go with three feats with the following in their script:
hero.child[AllCraft].field[Bonus].value +=2

(of course replaing it with profession and knowledge skills for the others).

Each feat can have a expr-req to restrict it to the race, and if you start the unique ID of each feat with the same characters that aren't used anywhere else:
fTinkGnCra
fTinkGnKno
fTinkGnPro

you can put an expression requirement on the race that:
hero.tagcount[HasFeat.fTinkGn?] = 1
(which means that it has exactly one feat whose unique ID starts with "fTinkGn")

Thanks for the help, I didn't know about that ? trick, I'll try and keep it in mind.

I'd already done something like that, but cruder. I changed it to yours as it is more elegant. Unfortunately both cause the race to be invalid for selection (because they require the feat to qualify for the race, rather than the race giving a feat as a bonus, also, selecting the feat is invalid because it requires the race!). It would be cool if there was a way to make a feat select all craft/profession etc skills, eh? *Wink wink, nudge nudge Colen/Rob*

But as things go it is pretty low on my list of requests.

Something else really frustrating I have noticed? The inability to scroll in Class Tabs in HL. I have classes that are so chock full of Class specials, custom abilities, and bonus feats that their spell selection button is pushed clear off the bottom. I've got Wu Jen that can't add any spells to their spellbook or memorize any!

Does anyone know a way to customize the tabs so this information is put at the top and Class specials (which already can be scrolled through) are at the bottom?
 
Thanks for the help, I didn't know about that ? trick, I'll try and keep it in mind.

I'd already done something like that, but cruder. I changed it to yours as it is more elegant. Unfortunately both cause the race to be invalid for selection (because they require the feat to qualify for the race, rather than the race giving a feat as a bonus, also, selecting the feat is invalid because it requires the race!). It would be cool if there was a way to make a feat select all craft/profession etc skills, eh? *Wink wink, nudge nudge Colen/Rob*

My mistake again (I'm getting out of practice on the d20 files) - put the requirement in an eval rule - that will make it active only after the race is added. You'll change the format from the exprression requirement format I gave to the format you'd use for a pre-req:
Code:
if (hero.tagcount[HasFeat.fTinkGn?] = 1) then
  @valid = 1
  endif
And use the "Validation" phase at any timing.
 
Back
Top