• 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

Hiding a Derived Trait?

zarlor

Well-known member
I'm getting pretty close on getting a Hell on Earth: Reloaded data file done (well, except for the Creatures... there are a LOT of creatures :eek:). One thing I need to be able to do, though, is to hide a couple of derived traits unless a certain Edge is taken. For example, I have two Derived Traits of Dominion, which I only want to show if the Harrowed Edge is taken, and another for Components, which I only want to show if the Junker Edge has been taken.

Anyone have some idea on how I might do that?

EDIT: Ignore the part where I talk about Components. It was easier, and works better, to implement that as just a stackable Gear item with a Junker pre-requisite.
 
Last edited:
Ok, I'm still a bit lost looking at this... a samples set of code for this shows something like:

<containerreq phase="Setup" priority="500" name="IsHarrowed">
<before name="BeforeTest"/>
<after name="AfterTest"/>
val:Level.? >= 4
</containerreq>

We'll call it something like that, anyway. I'm thinking there are really two ways I might handle the Dominion trait. I currently set it as a Derived Trait (simply because that's what you did in your Deadlands Reloaded file). So the only way to modify the Trait in play seems to be be by using a Permanent Adjustment on the Personal Tab on a portfolio in question. Which can work, but the more I think about it the more I think it would be a lot nicer if I could create a custom counter to handle it instead, like how Bennies show up on the In-Play tab so you can add or subtract to it as you like.

I just can't quite figure out how to do that part.

Either way, though, I guess the question here is still how would I then use something like that containerreq code to hide that thing (say dtHEDom or whatever the counter might be called) unless the edgHEHar is taken based on the code snippet example provided from the documentation? I know this is probably really basic stuff to ask, but most of my coding experience has been in BASIC, dBase and Unix shell scripting or batches in Windows, with a tiny bit of C thrown into the mix (not even C++, mind you.)
 
Actually, let's take this a little more directly from code in the file itself. This is for the new derived trait called Dominion.

<thing id="trHEDomini" name="Dominion" description="[snip]" compset="Trait" uniqueness="unique">
<usesource source="HoER"/>
<tag group="DashTacCon" tag="Traits"/>
<tag group="DashTacCon" tag="Combat"/>
<tag group="explicit" tag="6"/>
<tag group="DashTacCon" tag="Basics"/>
</thing>

Looking at a different containerreq example do I need to modify the code to something like this?

<thing id="trHEDomini" name="Dominion" description="[snip]" compset="Trait" uniqueness="unique">
<usesource source="HoER"/>
<tag group="DashTacCon" tag="Traits"/>
<tag group="DashTacCon" tag="Combat"/>
<tag group="explicit" tag="6"/>
<tag group="DashTacCon" tag="Basics"/>
<containerreq phase="Initialize" priority="2000">
edgHEHarro
</containerreq>
</thing>

Not sure about that timing at all, mind you, but the edge here I want all this to be dependent on is called "edgHEHarro". So not sure if I'm on the right track with that or not.
 
Ok I think I have a tiny bit of it partially worked out...

I think in the containerreq spot what I need should be something like:
hero#Edge.edgHEHarro

I can't quite get that to work, mind you (if I use it Dominion is, indeed, hidden, but it stays hidden even if I pick up the Harrowed Edge.) But if anyone has an idea if I'm on the right track here I would appreciate it.

EDIT: BTW I've also tried just Edge.edgHEHarro with no luck. Putting only edgHEHarro, as in the coding example I used earlier, gives and error so I'm assuming the other methods I've listed should, maybe, work, but I'm doing something wrong with them? Wrong timing? Is Initialization 2000 the wrong timing maybe?

EDIT2: I've done a bit more experimentation and was able to sucessfully use this method to set up a bunch of Hindrances that will only show if you have a certain Edge or Hindrance, mainly was setting them up for the Veteran o' the Wasted West Table and the Mutations table, each used a Containerreq of hero#Edge.edgHEVetWW and hero#Hindrance.hinHEMutan, respectively, set to Initialization 9000, which works perfectly. So I tried 9000 as a timing for Derived Trait but that's also a no go, but it suggests to me my syntax is correct I just need to figure out the right timing and I'll report here for anyone else who may eventually run into this (unless someone else "in the know" jumps in first.)
 
Last edited:
Thanks, but I'm not having much luck with this one. I get an error if I time it any later than Setup 3000, according to the error message, anyway, but even doing it as early as Initialization 2000 I can't seem to get it to show. I just can't figure out what the timing should be. :(
 
Actually, with further testing even the Mutation and Vet Hindrances I added aren't working right. The containerreq works for hiding or showing them based on having the appropriate Edge or Hindrance, but if you then try to add one of the now-visible Hindrances the program will give you a validation error and will not apply any of the effects of the Hindrances. Again, it looks like a timing issue there as well, but it doesn't look like one I can get around. Grrr...
 
Yes, I had the same problem with the edges and any armor or gear. So I gave up. Darn I was hoping you would figure it out - Maybe there isn't a way to do it.
 
Last edited:
You might want to go with a pickreq rather than a continerreq. It would avoid the error, and the non-valid Hindrances would be greyed out until the requirement was met. It's likely because it's hard to limit a Hindrance based on another Hindrance. It checks the validity of all Hindrances at once.
 
JBear, what was the issue you were seeing with Edges and Armor/Gear? The reason I ask is that we recently cleared a bug having to do with bootstrapping Gear to an Edge, and I was curious if they were related.
 
Setting a pickreq is what I've done, it just adds a bit of clutter, but at least I've named them so they'll group up by the name they have, anyway. I think we're just SoL on getting the Dominion trait to hide for Harrowed, unless we do the DLR route and set up Harrowed a a separate source, which I think may be a bit cumbersome. I can live with seeing a Dominion trait I won't use, but having to remember to select a source if my character takes the Harrowed edge start making things harder to keep track of. Oh well.
 
Back
Top