We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch
Uhm okay, I'll explain a few basic concepts about triggers, just in case. Because triggers do work. Always. So there might be some misunderstanding.
Owner: This player will run the trigger if they are in the game and have not been defeated when it's their turn during their trigger loop. When you have multiple players or forces that own a trigger a copy of that trigger will be created for each.
Trigger loop: Triggers are run periodically. Normally about every 1.5s, or every 84ms with hyper triggers, the whole trigger list will be processed. First Player 1 runs all their triggers, then Player 2 all their triggers and so forth. Gameplay is halted during a trigger loop.
Conditions: If ALL conditions are true, ALL trigger actions will be run in sequence, before the next trigger will be checked. So having Always with other conditions does nothing. It's only useful as a single condition if a trigger is supposed to be repeated all game, or run once at map start. Adding a Never will invalidate all other conditions, as Never will never be true, so that's just a quick tool to disable a trigger for testing.
Actions: Once a trigger loop started, your trigger has valid trigger owner and all its conditions are met, every action will be executed in sequence, and then the next trigger is picked.
Forcing alliances, a few pointers:
- It's important that you disable random start locations in the Forces settings, because otherwise player numbers will get shuffled around.
- You have to repeat the triggers all the time to overwrite any tampering from humans. This is where the condition Always comes into play. Make sure the trigger is preserved. Hyper triggers recommended.
- IIRC setting alliance status unselects units (I might be wrong, so you should test that first). To prevent unnecessary allying you can check if your partner player unallied you via the opponents condition or "enemy brings x [unit] to location x".
- make sure your triggers are not wait blocked. Basically a player may only run at most 1 wait at the same time or their triggers will stop firing. So that means if that player owns hyper triggers that's a ban on any waits. Use death counters for your timing needs.