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!
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!