• 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

Error in Magic Shield Created in Editor

I know what is causing the error. I'm not sure how to handle it, or rather, I'm not sure I understand what is happening in order to handle it, if at all.

All my shields have a weapon I bootstrap to it called Shield Bash.

I've worked it out that I can make a custom magic shield and everything works out great.

I've since decided to make a new specific magical shield in the custom editor, and I put a shield as a gizmo on the new magic shield.

Unfortunately, I get errors on the BaseWep component of the wShieldBash weapon I created and bootstrapped to each shield. When I created the magical shield, that shield is the target of all the BaseWep component scripts. Which makes me believe the bootstrap method was incorrect (mind you, I've had this bootstrapped for a couple of years, and this is the first time I've created a specific shield OR added a specific shield to a hero).

Turns out, every specific shield (even the ones in the d20 set) are getting these errors. It's all because I've bootstrapped that Shield Bash weapon to the shields.

Is there another transition I'm missing? I can't imagine it's a gizmo, and I don't know any other way to attach it to a shield outside of bootstrapping it. That is trying to transition to the shield and it cannot find certain fields, such as wDamage and wAttack.

I wondered if anyone might have encountered something like this before with bootstrapping to armor and specific armors. Is this something that can be resolved or has a work around for? I would have thought the transition would just be to the shield gizmo, but it isn't. It's transitioning to the magic armor that I created that's a magic shield and not finding fields that are normally reserved for being on weapons.
 
Last edited:
Can you provide the raw XML data for this shield and shield bash that is causing you errors. I think it will be a little easier for me to figure out if I can visually see the issue or duplicate the problem. :)
 
I ran into a similar problem a while back, and ended up only having shield bash attached to regular shields. Hopefully, you'll have more luck figuring this out than I did.
 
My shield bash is bootstrapped to regular shields. That’s causing the error when making a specific shield through the editor (but not in the custom shield interface).

Shadow, I’ll dig up what I have created. It’s three things. The specific shield I created (though it errors on any specific shield), the shield bash weapon, and the shield itself. Just haven’t been home long enough to get it to you this week.
 
My shield bash is bootstrapped to regular shields. That’s causing the error when making a specific shield through the editor (but not in the custom shield interface).

Shadow, I’ll dig up what I have created. It’s three things. The specific shield I created (though it errors on any specific shield), the shield bash weapon, and the shield itself. Just haven’t been home long enough to get it to you this week.

Yes, the community set version is also bootstrapped to regular shields. My recollection is that this is a core bug issue, but my understanding of how "container" works is limited. I avoid the errors by making sure not to bootstrap shield bash when using a custom or specific shield.
 
If I can be provided a working example of the error I am willing to look into it and hopefully provide a solution. Either in how you have this scripted or by fixing the core software.

Basically if you can provide a single .user file with specific steps to duplicate it I have a much higher chance of fixing it. :)
 
Just so you know, if I remove the bootstrapped Shield Bash on the regular shield, then when that regular shield is used as a gizmo on the specific shield, it doesn't error. It does appear to be core functionality, I was hoping there was a workaround. Can't get anything together tonight, but will try tomorrow night to get something out to you.
 
I've taken the community file that contains shield bash and stripped out everything not pertinent and attached it here. To reproduce the errors, simply add an "Absorbing Shield" to your portfolio and equip it. This file will function in a clean version of the d20 set.

Note: To reduce clutter this file will only bootstrap shield bash to heavy steel shields.
 

Attachments

Last edited:
Thanks Sendric!

Code:
Attempt to access field 'wAttBonus' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 138
- - -
Attempt to access field 'wAttBonus' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 138
- - -
Attempt to access field 'wAttRanged' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 139
- - -
Attempt to access field 'wAttRanged' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 139
- - -
Attempt to access field 'wDamBonus' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 142
- - -
Attempt to access field 'wDamBonus' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 142
- - -
Attempt to access field 'wDamRanged' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 143
- - -
Attempt to access field 'wDamRanged' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 143
- - -
Attempt to access field 'wFixDamage' that does not exist for thing 'iAbsorbShl'
Location: 'eval' script for Component 'BaseWep' (Eval Script '#1') near line 146
- - -
Attempt to access field 'wMaxStr' that does not exist for thing 'iAbsorbShl'
Location: 'field calculate' script for Field 'gCost' near line 10

Just to verify the above is the errors I am seeing when equipping the Absorbing Shield. Assuming that is correct I will try and take a look this weekend and see what I can figure out. :)
 
Basically d20 logic is not setup to allow a weapon to be bootstrapped to Armor bootstrapped to Specific Magic Armor. Yes as I fixed other stuff these errors at a greater amount but even if I fix the above errors more start popping up. Meaning I can't just do a small simple fix.

Will have to think about this some. I get the idea that to fix this I may need to add shield bashes officially to d20 as I doubt LW will let me add a fix just to prevent errors in the community stuff.

Just to set some expectations I maybe a few weeks before I make anymore progress of this.
 
Don't break your back for that, at least not for me. It's just as easy for me to not include it and add it to the shield like shield spikes (which might also be broken, haven't tested them). Anyways, maybe the shield bash has to be a shadowed item like shield spikes are. I'd have to re-code my improved buckler defense, but I'm ok with that.

For now, I'll just remove the shield bash from the shields to fix my issue. I've also played around with just shadowing them onto the shield, but haven't employed the idea yet.
 
Just so you guys know, I'm getting these errors regardless of whether it is equipped or not. It just needs to exist on the hero and I'm clicking on the hero for any reason, or loading the portfolio it exists in. This requires me to click to remove the error box every time I'm interacting with the hero (usually through the tactical console). If you try to use an incrementer... oi, get rid of an error box on every increment...
 
Back
Top