Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Authoring Kit
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Kairos
Senior Member
Volunteer Data File Author
 
Join Date: Feb 2009
Posts: 173

Old April 28th, 2013, 01:04 PM
I think I'm missing something regarding bootstraps and containerreq scripts. I'm trying to identify when a Tao (a trait) is part of an advance, apply a tag to the Tao, then test against that tag in the containerreq script within a bootstrap element (with the goal of setting the bootstrapped pick not live).

However, I think the tag expression testing for the Helper.NoEffects tag is failing, when I think it ought not to be: when the Tao is attached to the gizmo on an Advance.

Details:

So, in an Initialize 1500 eval script on the Tao component, I'm testing whether container.ishero. Debug confirms the value to be 0, so the container is a gizmo (an Advance). I assign a tag Helper.NoEffects.

In thing_taos.dat, I've got bootstrap elements with containerreq elements testing for Helper.NoEffects and the trtUser of the Tao (containerreq runs at Initialize 9000):

Code:
   <child
       entity="entTao">
	<bootstrap thing="teSureFtd">
	   <containerreq phase="Initialize" priority="9000" name="Calc Bootstrap"><![CDATA[
		Helper.NoEffects = 0 & fieldval:trtUser >= 1 
	    ]]></containerreq>
	   <autotag group="TaoGroup" tag="LightStep"/>
	</bootstrap>
...[other bootstrap elements and close child]...
In other words, the bootstrap is live if Helper.NoEffect is not present on the Tao (I wonder if this isn't my misunderstanding), and the Tao trtUser field is greater than or equal to 1.

The problem is that the Tao associated with the Advance gizmo is passing the Helper.NoEffects = 0 test when it should be failing. Thoughts?

Thanks in advance with large gratitude as always.

Last edited by Kairos; April 28th, 2013 at 01:05 PM. Reason: formatting
Kairos is offline   #1 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old April 28th, 2013, 02:59 PM
The container of a pick with a gizmo (aka where this containerreq is looking) is the gizmo container, not the pick that is the origin of that gizmo. That means you can't test a field value on the pick.

In the script that assigns Helper.NoEffects, can you revise that to also test field[trtUser].value >= 1?, and only assign the tag if that passes - that way, the containerreq only has to test for:

Code:
!Helper.NoEffects
Oh, and script naming - "Calc" normally means "Calculate" or "Calculate the value of the field named " - this script isn't calculating the value of a field, so I'd pick a name that better describes what this containerreq is trying to accomplish.
Mathias is offline   #2 Reply With Quote
Kairos
Senior Member
Volunteer Data File Author
 
Join Date: Feb 2009
Posts: 173

Old April 28th, 2013, 04:10 PM
Quote:
Originally Posted by Mathias View Post
The container of a pick with a gizmo (aka where this containerreq is looking) is the gizmo container, not the pick that is the origin of that gizmo. That means you can't test a field value on the pick.

I can't believe I missed that gizmo context! That did the trick, thanks. I ended up saving out the trtBonus value on the Tao into a field late in the Final phase so that it's available early in the eval cycle in order to construct a Helper.Level? tag. Works like a charm.

PS: With the exception of some output tweaking and some shakedown testing, I think you just helped me put the cout de grace on this ruleset.

Last edited by Kairos; April 28th, 2013 at 04:19 PM.
Kairos is offline   #3 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 05:10 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.