View Single Post
Colen
Senior Member
Lone Wolf Staff
 
Join Date: Dec 2008
Posts: 4,690

Old January 12th, 2018, 12:09 PM
Quote:
Originally Posted by TheIronGolem View Post
Here's something else that confuses me: If I test the bootstrapped talent with "hero.childlives[talentID]", this always returns 1, indicating that the talent is indeed live. This happens even if the bootstrap has an impossible condition, and without regard to whether the test occurs before or after the bootstrap condition is scheduled. The only way childlives will fail is if I remove the bootstrap. And yet the talent doesn't act as if it is live unless the boostrap conditions are met (apart from forwarding its Ability tag).

Unfortunately this means my workaround of "delete the Ability tag if the talent isn't live" isn't going to be viable.
I just did a simple test with this in the sample game system:

Code:
    <bootstrap thing="abMarksman">
      <containerreq phase="Initialize" priority="1000">FALSE</containerreq>
      </bootstrap>

    <eval index="1" phase="Initialize" priority="500"><![CDATA[
      debug hero.childlives[abMarksman]
      ]]></eval>
    <eval index="2" phase="PreTraits" priority="500"><![CDATA[
      debug hero.childlives[abMarksman]
      ]]></eval>
Script 1 runs before the bootstrap container test, script 2 runs after.

Right after the pick is added, script 1 prints "1", script 2 prints "0" - this happens because the pick is assumed to be live until the live test is actually run. After that, both scripts print "0". So the basics of this functionality seem to be working.

Are you sure there's not another copy of the pick on the hero that is live? If that's happening, it will make childlives return 1.

If that's not causing it, can you package up your data files and put them on Dropbox (or a similar service) so I can download them and see what's causing it? If not, you can email them to me at colen@wolflair.com.

Hope this helps!
Colen is offline   #17 Reply With Quote