I vibe-coded this with NO C# coding experience AT ALL using Claude. Use at your own risk. It seems to work but that's no guarantee of efficiency or stability. If it breaks, I will have to use Claude to fix it. If there is a better way to create the same effect, I'm happy to look at it; I couldn't make LogicBricks work how I wanted it to, but that's my limitation. I didn't think to search for 'logic' on the hub until I had finished making this, haha.
--
This is a global conditional pool. Create named conditionals once, assign to any state. Each state assignment specifies required value (TRUE/FALSE) and whether to reset that conditional when the state fires.
1) Create a conditional by writing a name in the box and hitting +Add Conditional. Repeat for all required Conditionals.
2) Create a State by writing a name in the box and hitting +Add State. Repeat for all required States.
3) Select a State. Assign Conditionals by selecting them (all Conditionals are listed). Check the box if its value needs to be TRUE. Uncheck if the value needs to be FALSE.
4) Check the Reset on Fire box if this conditional is to be automatically reset. It can be set manually through other actions.
5) States can be automatically or manually triggered when all conditions are met.
6) Call SetConditionalTrue, SetConditionalFalse, TriggerState, and ResetState from other plugins.
7) Configurations can be saved and loaded, but external calls might have to be reconnected to the external plugin.
--
Thanks to MacGruber's LogicBricks (MacGruber_Utils.cs) for providing a workable trigger system.