Member
Join Date: Jun 2016
Location: KS, USA
Posts: 39
|
TLDR: Should I be worried about an error I get after creating a unique item if the error only shows up in debugging mode?
I used the editor to create a custom item for one of the campaigns that I'm playing in where the GM has created unique minor artifacts to distribute to the PCs. The item is a slot-less Wondrous Item that can be equipped; using a bootstrap condition, when the item is equipped, it bootstraps an Ability. Up to this point, all is working as expected, but when I first added the condition to the bootstrap, I got the following error: Code:
Attempt to access non-existent parent pick for a top-level container from script Location: 'eval' script for Component 'Ability' (Eval Script '#4') near line 5 - - - Attempt to access non-existent parent pick for a top-level container from script Location: 'eval' script for Component 'SetName' (Eval Script 'Append livename Details') near line 117 The bootstrap condition Code:
fieldval:gIsEquip <> 0 My questions comes down to this: Is there a way that I can eliminate the error, and should I be worried about the error if it only pops up in debugging mode? |
#1 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
If it shows up in debugging mode, that means there's something going wrong. If that message isn't displayed to normal users, HL may be throwing away a line of code that's giving it an instruction it can't understand, which means that it is not applying the effects you expect it to be applying - it just doesn't tell the normal users about the fact that it has not executed that line of code.
|
#2 |
Member
Join Date: Jun 2016
Location: KS, USA
Posts: 39
|
This makes the error strike me as all the more odd, since the item appears to work correctly.
My design intention was to make the Ability disappear from the Specials summary pane and the Special & Spells tabs if the item is unequipped. I've done a bit more digging, and the error gets thrown when I equip the item, thus causing the Ability to appear on the character. I can adjust the timing of the bootstrap condition to First/5000 without any apparent change in what's happening. However, if I move it any further back, compile fails since the first task from the Ability's debug list hasn't run yet. Is there a way to disable the Ability if the item is unequipped, rather than deleting it? Off the top of my head, I'm not aware of any items I could examine to pull such code from. |
#3 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
For an example of an equippable magic item with bootstrapped abilities, how about the belt of dwarvenkind.
Also, please post more details about the ability or abilities you're adding - those error messages are coming from components that aren't going to be on the magic item itself. |
#4 |
Member
Join Date: Jun 2016
Location: KS, USA
Posts: 39
|
The item is supposed to grant a +1 Sacred Bonus to AC and all Saves, plus grant 1/Day the ability to cast one of two different level 3 spells as a spell-like ability with CHA-based Saves. It has two additional abilities which I'm not coding in, as triggering either of these results in the destruction of the item.
The Wondrous Item is configured with 'Magic Item Aura Information' (CL 20 Abjuration, Conjuration, Evocation [Good, Lawful]), it can be equipped but doesn't take a magic item slot, it has 1 charge as 'uses/day', is not permitted for Pathfinder Society characters, and has a Source defined in a custom .1st file. The sacred bonuses are handled in the Wondrous Item itself: Code:
First/4000 if (field[gIsEquip].value <> 0) then ~ Grant +1 Sacred Bonus to AC hero.child[ArmorClass].field[BonSacred].value = maximum(hero.child[ArmorClass].field[BonSacred].value, 1) ~ Grant +1 Sacred Bonus to Saves #applybonus[BonSacred, hero.child[svAll], 1] endif Code:
First/500 fieldval:gIsEquip <> 0 The Ability has an Eval Script to calculate Save DCs and add them to it's own livename: Code:
Post-attributes/5000 #dc[abGMKSPBgt] = 13 + hero.child[aCHA].field[aModBonus].value |
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
Given your description, why bootstrap abilities? The bonus to AC and saves is applied by the item itself, and for the SLAs, bootstrap the spells directly as item spells. (and assign ChargeUse.1 tags on the spells and Helper.TrackCharg to the item, so that both SLAs draw 1 charge from the item's pool when they're used, meaning they end up drawing from the same pool, sort of like the spells on a staff).
|
#6 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
Or, the problem is probably the "Item Power Helper" option - that's only used on armor and weapon powers like keen or bane or bolstering - I think it causes problems if it's not within the gizmo of an armor or weapon (like the way you've set it up here).
|
#7 |
Member
Join Date: Jun 2016
Location: KS, USA
Posts: 39
|
Quote:
Quote:
As to not putting the spells directly on the item, my own ignorance of how to best use the editor is to blame. Before using the method of putting the spell-like abilities directly on the item, however, I need to figure out two more things: How to make the Caster Level = the Character Level (I tried adding Helper.StaffSpell to the item spell bootstraps, but that didn't do it), and if possible, I'd like to add the save DC to the livename for the item spells. I do, however, now have a fully functional item that I can duplicate and pass out to the rest of the party for their own versions. Domo arigato, Mathias-sensei. |
||
#8 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
From the 6.19 change list:
|
#9 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,215
|
Whether a spell shows a DC or not should be based on the save tags for that particular spell.
|
#10 |
|
|