View Single Post
rob
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 8,232

Old December 7th, 2006, 08:15 PM
Perhaps I'm missing an important detail here, but it sounds like all you need to do is chain "B2" to "B". When you define option "B", simply add a link from it to option "B2". If you assign a link nature of "auto", then "B2" will automatically be added to the roster whenever "B" is selected by the user. If you want "B2" to be optional, then just use the appropriate link nature.

Hope this helps,
Rob


At 10:31 AM 11/27/2006, you wrote:

Quote:
This must be simple, but I'm really stumped after spending a long time trying to make this work. I've implemented several things in my datafiles at this point, including heavy use of exclusion groups, remainder links, and tag expressions to control options. For most things, it's simple to get the behavior I want. However, one simple behavior that I can't accomplish (without lots of work) is to have a single option that controls two options simultaneously. For example, a unit defaults to having option 'A'. If he chooses to take option 'B' instead, he should also get option 'B2'. I could wrap these in one option, but they're really distinct elements (that already have details for them because other units can take them independently).

This seems like an incredibly straightforward thing, but I can't make it work. I just want 'B' to be selectable, and have 'B2' mirror the state of 'B'. Mirroring doesn't work, because that only applies to parents (I've used that elsewhere for different problems.)

It can sort of be done with exclusion groups and a remainder link on 'B2', but I don't like this solution, because I want 'A' (the default) to have a remainder link. I like building my datafile such that units can NEVER be in an invalid state.

Because there is no way to set a per-link enablement expression (vs. per-option), the two ways I've solved this are:

1) Duplicate option B2. Make the second one special (just for this unit), and add an enablement tag expression that checks for a tag that's defined when option 'B' is selected.

2) Add two links to the original option 'B2'. Each one has a live tag expression for a tag defined when B is selected. One copy is only live when B is not selected, and forces enablement to false, the other is only live when B is selected, and is always enabled (using 'incl' as the link type).

Both of these are fairly clunky, and I really want to think there's a *simple* way to do this... What am I missing? Thanks!
rob is offline   #2 Reply With Quote