I assume it's because you haven't set the building's pathing correctly. You need to change the pathing to what you want it to be (3x3, for example). After this, you should give the gate a weak attack (1-1) so it gets priority over other units behind it.
You set the same variable values over and over (Buildings array). You're better off setting that during map initialization or game time 0.00 to save function calls.
If it's permanent, you could try adding modified Chaos abilities to the items. Maybe it'll work the same way as adding it directly to the unit, which transforms them.
What's the best method to detect if a unit is dead or not?
GetUnitState(GetTriggerUnit(), UNIT_STATE_LIFE) > 0
GetWidgetLife(GetTriggerUnit()) > 0
IsUnitType(GetTriggerUnit(), UNIT_TYPE_DEAD)
I've also heard that 0.405 is better than 0, is this true?
I did look at the link. It just looks like the same RPGs played on battle.net with pointless grinding and farming for items/gold/experience. What's so fun about right clicking?
Initialization
Events
Map initialization
Conditions
Actions
-------- Repeat for # of regions. --------
Set Regions[0] = Region 000 <gen>
Set Regions[1] = Region 001 <gen>
Set Regions[2] = Region 002 <gen>
-------- Replace 2...