• 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

Natural weapons from feats question.

Lawful_g

Well-known member
Having trouble adding a natural attack from a feat. Deepspawn (from Lords of Madness) gives 2 tentacle attacks, so I bootstrapped wTentacle to the feat, gave it the appropriate tags for Primary natural attacks and the #, but as soon as I add the feat I get the following error.

Cannot access bootstrap source for non-bootstrapped pick 'fDeepspawn'
Location: 'eval' script for Component 'BaseNatWep' (Eval Script '#1') near line 37

As I recall, I have had similar problems with other feats that add natural weapons (like Strength Devotion, and some wild feats like... something of the Serpent that gives a bite attack). Any advice on this? I don't think I ever got this worked out before, but it just came up again.
 
Nevermind, after looking back at the previous post, I saw the answer was to switch from Unique to not unique, which didn't work for the feat (since it can only be added once), but after making a non unique special that did the same thing and bootstrapping it, everything worked out fine.

Also, it occurs to me that maybe I can fix the Strength devotion problem by just adding a second non unique special bootstrapped to the Unique special (rather than the feat).
 
Last edited:
Feats should not set their uniqueness to "Unique" - they should use "Add Once" as their uniqueness - that allows the bootstrap to track its parent, but doesn't allow the user to select the feat a second time.

"Add Once" is also required if you want a class to bootstrap the feat, but still give the user the option to purchase the feat before the class grants it (for example, allowing someone who purchased only 1 level of ranger to get the track feat to still purchase the endurance feat).
 
I did wonder what the distinction was, so thanks for clarifying, but it was at "add once" when it gave me trouble. It's fine now though.
 
I ran into this issue as well, so I copied the special you used, Aaron. However, the feat I'm working on (Illithid Grapple from Complete Psionics) isn't as straight forward. It can be taken up to 4 times, each time added a new tentacle attack.

2 questions arise from this:

1) Can you limit a feat to be taken up to 4 times?

2) When the feat gets taken a second (or third or fourth) time, can the natural attacks be stacked instead of appearing as additional weapons?

Actually, I'll add in one more since it's going to come up later. Another feat has a pre-req of the character having the Illithid Grapple feat all four times.

3) Is there a way to set the pre-req to search for a feat having been taken four times?
Update: Here's some code that seems to work for this problem:

Code:
        if (hero.tagcount[HasFeat.fIllGrap] = 4) then
          @valid = 1
          endif

I'm going to go on and finish some of the others then jump back to this and try to research/fiddle around with some stuff. If I figure out any solutions, I'll post it, but in the meantime I would appreciate any suggestions or answers to these problems.
 
Last edited:
1 - Yes, you can set its maxlimit to 4

2 - Have each of the feats add +1 to the value of the helper that bootstraps the natural attacks. Then have an eval script on that helper that applies the same Value.? tag as it's current value to the bootstrapped natural weapon.

3 - That'll work, it'd also fit as an expr req.
 
1 - Yes, you can set its maxlimit to 4

2 - Have each of the feats add +1 to the value of the helper that bootstraps the natural attacks. Then have an eval script on that helper that applies the same Value.? tag as it's current value to the bootstrapped natural weapon.

3 - That'll work, it'd also fit as an expr req.

Cool. I'll take a look at 1 and 2 on Monday. As for 3, that falls under the "duh" category. I'd already parsed it down a bit, but clearly not as far as I could have. Thanks.
 
Here's a refinement of the prereq you posted. I find I prefer this to maxlimit in my own work:

Code:
hero.tagcount[HasFeat.fIllGrap] <= 2 + @ispick
(this is an exprreq)

@ispick is a special variable-like thing whose value is set by HL. Once you've added the item, @ispick = 1, but until then, @ispick = 0. That way, while you're still adding the feat, it's making sure that there are only 2 or fewer copies there so far (since you're adding the third), but for the copies that have already been added, it's looking for 3 or fewer total copies.
 
Thanks, Mathias. I was wondering what @ispick did since I've seen it in a few places but haven't actually figured out how to use it.
 
2 - Have each of the feats add +1 to the value of the helper that bootstraps the natural attacks. Then have an eval script on that helper that applies the same Value.? tag as it's current value to the bootstrapped natural weapon.

Struggling a bit with this one. Any good examples out there you know of that I could look at?

Also, I was tinkering with something else, and was trying to use the script below without success:

Code:
if (hero.tagcount[HasFeat.fIllGrap] = 0) then
 perform assign[Helper.Helper]
endif

Any thoughts on why this wouldn't hide the feat this script is used on until the feat fIllGrap was taken? I also tried the reverse (apply Helper.Helper with the tag then delete it after the feat was taken) to no avail. I tried several timing locations, but it didn't seem to make a difference. Is there something I'm doing wrong here? Also, is there another way to hide a feat from the selection list (like what happens after a feat set to "Add Once" goes away after it is selected)?
 
Last edited:
Helper.Helper means "you can't purchase this" not "disable this".

I think that's what I want it to do, though. Hide the feat (unpurchasable if such a word exists) unless a different feat is taken. When I add the tag Helper.Helper through the tag button in the editor, the feat disappears. This is what I am looking for, but with an if statement involved.
 
Scripts don't run until something's been purchased, so you can only assign that tag permanently, not with a script.

If this requires the presence of another feat, why not just use an exprreq?
 
Scripts don't run until something's been purchased, so you can only assign that tag permanently, not with a script.

If this requires the presence of another feat, why not just use an exprreq?

I was trying to set up a second feat of the same name that appears only when the first is selected. The reasoning was because the feat bootstraps both the special that bootstraps the tentacle attack but also the Improved Grab special ability. I realized that if you take the feat four times, then the Imp Grab special appears four times in the Specials Tab. I thought I could get around this by making a second feat of the same name that appears when the first is taken (and then disappears because of the "Add Once" feature). The whole process would be invisible to the user, but it would appear as though the same feat was being taken. Does that make sense?

BTW, I noticed a similar script you provided some time back that does a similar thing. Its in the thread Adding New Mounts. That's why I thought it might work.
 
I'd use the Special tab to create the helper item, rather than making it a feat. There's nowhere to directly purchase specials, so you don't have to worry about making it un-purchasable.
 
Ok, fixed that issue. Made a special that bootstraps the Improved Grab ability. Made it Unique, and bootstrapped it to the feat. That was a lot easier than I was originally making it out to be. Still trying to figure out how to accomplish Aaron's earlier suggestion:

2 - Have each of the feats add +1 to the value of the helper that bootstraps the natural attacks. Then have an eval script on that helper that applies the same Value.? tag as it's current value to the bootstrapped natural weapon.

If I figure it out, I'll post it.
 
The value he's referring to is a field on the helper - you can have your feats add to that field.

Yea, I've got that part. I just haven't figure out how to modify it yet. I'm sure its simple, but I'm just not seeing it.

Update: Ok, I'm on the right track now. I took a look at the hydra and used that as my template. Just need to do one more thing now.

Here's what I did. In the feat, I used this eval script:

Code:
hero.childfound[xIllGTent].field[Value].value += 1

In the special "helper", I used this eval script (Update 2: Removed foreach loop since it was unnecessary, but it didn't really change anything except it only applies to the original tentacle attack that was added):

With foreach loop:
Code:
  foreach pick in hero from BaseNatWep where "IsWeapon.wTentacle"
  var bonus as number
  bonus = hero.child[xIllGTent].field[Value].value

  perform eachpick.delete[Value.?]
  perform eachpick.assignstr["Value." & bonus]
  nexteach

Without foreach loop:
Code:
 var bonus as number
  bonus = hero.child[xIllGTent].field[Value].value

  perform hero.childfound[wTentacle].delete[Value.?]
  perform hero.childfound[wTentacle].assignstr["Value." & bonus]

Doing both of these changes the Tentacle attack in the weapons tab as desired, so for each instance of the feat, it increases from Tentacle to Tentacle x2, Tentacle x3, etc.

However, this does not resolve the issue of the Tentacle attack appearing separately in the weapons tab each time you take the feat. If I set the special to "Unique" as I did with the one that bootstraps Improved Grab, it fixes the problem, but I get the following error:

"Cannot reliably access bootstrap source for unique pick 'xIllGTent'
Location: 'eval' script for Component 'BaseNatWep' (Eval Script '#1') near line 35"

This error appears each time you add or remove the feat, so its not really practical even though it does resolve the problem. Any thoughts on how to resolve this? My initial thought is to do something similar with the value tag, but applying it to the feat instead. Not sure if that'll work.

Note: Looks like this error was encountered previously here. No solution was provided that doesn't bring us back to having the feat listed twice.
 
Last edited:
Back
Top