• 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

Yet another bootstrap question

Lord Magus

Well-known member
I have created an Ability called "Foe of the Giants" that is meant to be bootstrapped on a special dwarven waraxe that is kind of a legacy weapon.

That ability grants 3 separate benefits at 3 different character levels; at level 12 it grants the item power "Bane" vs giants. As I ran into issues with bootstrapping item powers on the axe as gizmos, I preferred to code Bane into the Foe of the Giants ability. I just have no clue how to properly add the #extradamage macro into the ability's script so that it modifies the weapon bootstrapping the ability

I have tried:
(...)
~Bane vs Giants
if (#totallevelcount[] >= 12) then
if (field[abilActive].value <> 0) then
hero.child[Attack].field[Bonus].value += 2
#extradamage[root,"+2d6 vs Giants",field[name].text]
endif
endif

but the #extradamage does not work (the rest of the script is OK) and I get this message:
"Cannot reliably access bootstrap source for unique pick 'abGntKarsh'
Location: 'eval' script for Thing 'abGntKarsh' (Eval Script '#1') near line 20"

Any pointers on how to debug that or things I could look at for examples?

Thanks!
 
I have created an Ability called "Foe of the Giants" that is meant to be bootstrapped on a special dwarven waraxe that is kind of a legacy weapon.

That ability grants 3 separate benefits at 3 different character levels; at level 12 it grants the item power "Bane" vs giants. As I ran into issues with bootstrapping item powers on the axe as gizmos, I preferred to code Bane into the Foe of the Giants ability. I just have no clue how to properly add the #extradamage macro into the ability's script so that it modifies the weapon bootstrapping the ability

I have tried:
(...)
~Bane vs Giants
if (#totallevelcount[] >= 12) then
if (field[abilActive].value <> 0) then
hero.child[Attack].field[Bonus].value += 2
#extradamage[root,"+2d6 vs Giants",field[name].text]
endif
endif

but the #extradamage does not work (the rest of the script is OK) and I get this message:
"Cannot reliably access bootstrap source for unique pick 'abGntKarsh'
Location: 'eval' script for Thing 'abGntKarsh' (Eval Script '#1') near line 20"

Any pointers on how to debug that or things I could look at for examples?

Thanks!

Edit: I created it differently trying to fix this so I gave bad advice lol.
 
Last edited:
Unfortunately not working...

"Attempt to access non-existent parent pick for a top-level container from script
Location: 'eval' script for Thing 'abGntKarsh' (Eval Script '#1') near line 20"
 
What did you make the ability in the editor? "Item Power"? "Ability"? "Class Special"? "Racial Special"?

Actually, could you post everything about the ability you made, or upload the user file with it in it? The latter would be easier to work with.
 
What did you make the ability in the editor? "Item Power"? "Ability"? "Class Special"? "Racial Special"?

Actually, could you post everything about the ability you made, or upload the user file with it in it? The latter would be easier to work with.

Coded as an "Ability" named "Foe of the Giants"; can be checked on the "In Play" tab when fighting a giant.
1 script
Code:
Pre-Levels 11000
~+1 stacking bonus to attack & damage vs Giants
if (#totallevelcount[] >= 8) then
   if (field[abilActive].value <> 0) then
      hero.child[Attack].field[Bonus].value += 1
      hero.child[Damage].field[tDamBonus].value += 1
   endif
endif

~+4 dodge bonus to AC vs Giants
if (#totallevelcount[] >= 11) then
   if (field[abilActive].value <> 0) then
      hero.child[ArmorClass].field[tACDodge].value += 4
   endif
endif

~Bane vs Giants
if (#totallevelcount[] >= 12) then
   if (field[abilActive].value <> 0) then
      hero.child[Attack].field[Bonus].value += 2
      #extradamage[parent,"+2d6 vs Giants",field[name].text]
   endif
endif


The ability is bootstrapped upon a custom weapon (Karesh, with the Gizmo "dwarven waraxe"), with the Condition "count:Hero.HitDice >= 8" at First/500

This weapon's stack of abilities is as follows (I have coded about 75% of it)
Level 5: Dwarven waraxe +1 (OK)
Level 6: Wielder acquires the Aggressive trait (from Unearthed Arcana/d20 SRD) (OK)
Level 7: +4 bonus to Craft (Armor) and Craft (Weapon) skills (OK); gain Stability (as the dwarven racial ability; if already a dwarf, the bonus granted is increased to +6) (in progress, through bootstrap)
Level 8: +1 bonus to attacks and damage vs. giant-type creatures, stacking with the other bonuses granted by the axe. (OK: foe of the giants)
Level 9: -1 CHA (inherent) (OK), gain Power Attack when wielding the axe (if wielder already has Power Attack, he gains Cleave; if he already has Cleave, he gains Great Cleave) (in progress, through bootstraps)
Level 10: Dwarven waraxe +2 (OK)
Level 11: +4 Dodge bonus vs. giant-type creatures (OK: foe of the giants)
Level 12: -1 WS (inherent) (OK), Giant Bane Waraxe (extra +2 attack, +2d6 damage vs creatures of the Giant subtype); this stacks with the other attack and damage bonuses granted by the axe. (In progress: foe of the giants)
Level 13: Keen (Still needs to be done, but won't be through bootstrapping because of issues with conditions)
Level 14: Dwarven waraxe +3 (OK)
Level 15: -1 Ref save (Not done but easy to do)
Level 18: -1 CHA (inherent), +4 Waraxe (OK)
 
Last edited:
First/1000 in this case.

Still getting the
Attempt to access non-existent parent pick for a top-level container from script
Location: 'eval' script for Thing 'abGntKarsh' (Eval Script '#1') near line 20

related to the #extradamage macro
 
The ability doesn't have a parent, what you want to go to is the "root" (which is the thing that bootstrapped the current thing). Try changing:

#extradamage[parent,"+2d6 vs Giants",field[name].text]

to:
#extradamage[root,"+2d6 vs Giants",field[name].text]
 
The ability doesn't have a parent, what you want to go to is the "root" (which is the thing that bootstrapped the current thing). Try changing:

#extradamage[parent,"+2d6 vs Giants",field[name].text]

to:
#extradamage[root,"+2d6 vs Giants",field[name].text]

That's what I tried first (see post #1). Didn't work, even at First/1000, with the error message
Cannot reliably access bootstrap source for unique pick 'abGntKarsh'
 
Hmm. Could you send me your user file so I can fiddle with it?

address is my forum name, all lower case, AT wolflair dot com.
 
Last edited:
I made a few changes and sent the file back to you, but I wanted to reply here on the forums as well, so others might learn too.

Alright, so the issue was that your "Foe of the Giants" ability was "Unique", and things with a uniqueness of Unique can't reliably access their bootstrap (the "root"), because there is only ever 1 of them on a hero regardless of how many different things bootstrap it. An example might be helpful.

Say there was a racial ability called "Tastes Great, Less Filling" and it is on some race you made (the "Cupcake Golem"), and some magical armor (call it "Taffy Plate") when the user equips that armor. If it's Unique, then that causes issues.

For a hero who is a Cupcake Golem, the "Tastes Great, Less Filling" ability is bootstrapped without a condition and shows.
For a hero who has just the Taffy Plate, the "Tastes Great, Less Filling" ability is bootstrapped with a condition and doesn't show until the user equips the armor.
For a hero who has both the Cupcake Golem Race and the Taffy Plate armor ... you'd think "Tastes Great, Less Filling" would show regardless, but in fact it won't show until ALL different places that bootstrap it have their conditions satisfied. That is, it shows only when the Taffy Plate is equipped, even though the race should grant it regardless.

Now I'm not 100% sure, but I think the problem is, if "Tastes Great, Less Filling" were trying to access it's root, it couldn't be sure of it's live/non-live status because there is only one of it and each thing that wants to bootstrap it could have a different set of conditions. This is apparently dangerous enough that HL won't even let you attempt a root transition on a Unique thing.

There is almost never a cause to set something to Unique, in most cases Add Once is preferable if you want it to show up only once. In this case, I would say set the uniqueness of "Foe of the Giants" to "No", that way it can be reused if you want on a different weapon, and the user could then dual wield them and both could be activated independently.
 
First/1000 was the timing for the bootstrap condition, not the script. Leave the script in pre-levels.
 
Last edited:
Back
Top