View Single Post
TheIronGolem
Senior Member
 
Join Date: Feb 2015
Posts: 676

Old January 11th, 2018, 09:38 AM
Quote:
Originally Posted by Aaron View Post
That's the code for the pre-req. I would say check you custom abilities you've added, see if any of them have the same Ability tag as the one you want to add there. If so, I assume it would be for the purposes of meeting the same pre-reqs as the other, but if that is the case you should be useing HasAbility tags. Although there is a mismatch between the note and code there... Maybe it switched recently? I will look into it.
Thanks, Aaron. I looked carefully through all my own code and found nothing that would forward Ability.? tags or assign them to the hero/container. But in order to fully rule out any problem with the talent component I decided to do another experiment.

I started by creating a bare-bones component that has no fields, no tags, no scripts, and no other components in its compset. I also made a single Thing with this component (again, no tags/scripts) and boostrapped it from a class ability with an impossible condition (1=2)

Code:
	  <component
    id="SoPTEST"
	name="test"
	autocompset="yes"
	hasshortname="no"
	ispublic="yes">
	</component>
...
<thing id="SoPtest" name="test thingy" compset="SoPTEST"></thing>
After compiling and reloading, I confirmed that the SoPtest pick existed, but wasn't live. There was no Ability.SoPtest tag on the hero. That's not surprising, of course, because there's no other component in the SoPTEST compset. So I added Ability to the compset:

Code:
	  <component
    id="SoPTEST"
	name="test"
	autocompset="no"
	hasshortname="no"
	ispublic="yes">
	</component>

    <compset
    id="SoPTEST">
    <compref component="SoPTEST"/>
    <compref component="Ability"/>
	</compset>
Again, there's nothing happening in the component or in any Thing from that component.

But this time, the hero had the Ability.SoPtest tag. So I'm guessing that the tag is being forwarded/assigned somewhere from the Ability component, but (because this does not happen with feats), this forwarding/assignment must be preventable by means I do not yet know.

I guess I could have a script that loops through talents and deletes Ability tags from the hero if the corresponding pick isn't live, but that feels pretty hacky and prone to false positives.
TheIronGolem is offline   #15 Reply With Quote