Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   Army Builder (http://forums.wolflair.com/forumdisplay.php?f=16)
-   -   Forcing an option across mutiple childs (http://forums.wolflair.com/showthread.php?t=6278)

retaf33c June 8th, 2006 05:32 PM

Forcing an option across mutiple childs
 
I have a squad that can take 1 - 5 champions. Each champion can select one or more "traits" within an resource pool in a linkset. If one of the champions selects a specific trait that extends the distance for jump packs, everyone in the unit benefits. I use an Evaluation script to assign the trait (tag) to the champion

I've not been able to figure out how to assign the tag to the other champions, if any, and to the parent squad.

rob June 12th, 2006 06:59 PM

Forcing an option across mutiple childs
 
You can readily assign the trait to the parent. The simplest method is to have the option on the child unit directly assign a tag to the "grandparent" via the "parent.parent." transition. You would then have the equivalent option attached to the grandparent unit with an "auto" link nature and a "Live" tag expression that checks for the tag. The only requirement here is that you be mindful of the evaluation sequence. This means that the options that attach the child units MUST occur earlier in the evaluation sequence than the options with the "Live" tagexprs on the grandparent. This is needed so that the tags are assigned to the grandparent before they are actually tested.

There is effectively NO way to select an option on one of multiple children and have the selection be dispersed to the other children. This is because AB has to evaluate things in some sort of sequence. That sequence is spelled out in the docs in case you have any questions about what happens in what order. This sequence requires that champion #1 be evaluated, then champion #2, then champion #3, etc. The net result is that champion #1 CAN take actions that will be recognized by champions #2-#5. However, any effects initiated by champion #2 will occur AFTER champion #1 has been evaluated, so champion #2 can only affect champions #3-#5. Obviously, champion #5 will not be able to influence any of its siblings.

If you can outline what you're trying to achieve in a bit more detail (in terms of GAME mechanics and not AB implementation), I'll see if I can come up with an approach that might provide a reasonable solution.

-Rob

At 06:32 PM 6/8/2006, you wrote:

Quote:

I have a squad that can take 1 - 5 champions. Each champion can select one or more "traits" within an resource pool in a linkset. If one of the champions selects a specific trait that extends the distance for jump packs, everyone in the unit benefits. I use an Evaluation script to assign the trait (tag) to the champion

I've not been able to figure out how to assign the tag to the other champions, if any, and to the parent squad.

retaf33c June 13th, 2006 04:28 AM

OK. In a skinnie army for Starship Troopers, a Guard unit consists of four guards and a guard champion. This unit has jump packs that allow them to jump 12" when doing a jump move. In game terms, this is considered a unit trait and is reflected as Jump/12" on the stat line.

You can add up to five extra guard and up to 4 guard my be upgraded to guard champion.

Each guard champion may purchase heroic traits up to a total of 50 points. They don't have to purchase the same traits. (which is why I chose to make each champion a child with its own resource pool)

One of the traits is Extended Jump. It reads: "Having been trained in extracting every last ounce of power from its jump pack, the model may extend its Jump trait and that of all models in its unit by +50%."

Therefore if one of the guard champions purchases this trait, Jump/12 becomes Jump/18 for him and everyone in the unit.

So in AB how do you update the stat for him, the parent unit, and any other guard champions that may have been upgraded from Jump/12" to Jump/18"?

My approach so far is to just note that the guard champion has purchased the trait along with saying that all jump distances for the unit have been extended by +50%

rob June 13th, 2006 01:11 PM

Forcing an option across mutiple childs
 
Hmmm. I assume this is the only trait that gets applied to all siblings as well as the parent. If so, the simplest solution would be to only provide this option on the FIRST champion. Since the first champion CAN propogate its particulars to all the siblings (because it's evaluated first), you could have the option assign the tag to its parent AND all of the parent's children via the "children." transition. The downside of this approach would be that users will find it confusing that only the first champion can have the option.

Another approach would be to allow the option on all the children, but only show the Jump attribute on the parent unit. For all the champions, show it as a "*" or some such to indicate that they should use whatever value is assigned to the parent. Then you could have any of the children assign an appropriate tag to the parent. Within the parent, you would either have a "last" priority option that adjusted teh stat value if the tag is present OR you could give the stat an appropriate script that calculates the final value based on the presence of the tag.

You should NOT have the child unit's option modify the stat value of the parent unit. If the user selects the option twice on different champions, the unit should still be limited to an 18" jump, so a tag is the proper solution. Using a tag also makes validation easy, since you can write a rule that verifies no more than one instance of the tag is on a parent unit.

Based on my understanding of the requirements, those are the two solutions that I would consider using if I was faced with this situation. If I've misunderstood something, let me know and I'll revise the recommendation as necessary.

Hope this helps,
Rob


At 05:28 AM 6/13/2006, you wrote:

Quote:

OK. In a skinnie army for Starship Troopers, a Guard unit consists of four guards and a guard champion. This unit has jump packs that allow them to jump 12" when doing a jump move. In game terms, this is considered a unit trait and is reflected as Jump/12" on the stat line.

You can add up to five extra guard and up to 4 guard my be upgraded to guard champion.

Each guard champion may purchase heroic traits up to a total of 50 points. They don't have to purchase the same traits. (which is why I chose to make each champion a child with its own resource pool)

One of the traits is Extended Jump. It reads: "Having been trained in extracting every last ounce of power from its jump pack, the model may extend its Jump trait and that of all models in its unit by +50%."

Therefore if one of the guard champions purchases this trait, Jump/12 becomes Jump/18 for him and everyone in the unit.

So in AB how do you update the stat for him, the parent unit, and any other guard champions that may have been upgraded from Jump/12" to Jump/18"?

My approach so far is to just note that the guard champion has purchased the trait along with saying that all jump distances for the unit have been extended by +50%


All times are GMT -8. The time now is 07:45 AM.

Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.