Toggles, dual wieldiing, hand swapping, negations [Resolved]


I am having trouble figuring out how to implement some toggles.

So avatar has a pair of, let’s say, daggers
Currently implemented as bool toggles
That have the following states:

  • Left hand dagger on/off
  • Right hand dagger on/off

AND I have a handheld lantern that I currently have implemented to swap hands via a parent constraint and an integer parameter. It has 3 states controlled via 2 toggles:

  • State 0 - Lantern Off
  • State 1 - Lantern Left Hand
  • State 2 - Lantern Right Hand

I would like
Equipping lantern to disable dagger in relevant hand
Equipping dagger to disable lantern in relevant hand
And I want these changes correctly reflected in the toggle controls.

How do I do this?

EDIT: I solved this issue.

I had been stuck because

  1. I was moving from states in my state machines using [Any State] which isn’t viable when multiple states need to interact like this.
  2. I didn’t know multiple transitions between the same 2 states could be ordered to establish priority.

So the final product is

  • Lantern has a state triangle that excludes [Any State] entirely
  • Daggers have a simple on/off machine for each hand that also excludes the use of [Any State]
  • Transitions that go to the Lantern off state prioritize a condition of the daggers being activated.
  • Transitions that go to the Dagger off state for each hand prioritize a condition of the Lantern integer being set to the one for the relevant hand.
  • Lantern off state sets lantern integer to 0 as the conditional off doesn’t inherently do that.
  • Dagger off states set their respective parameters to false for the same reason.