Moderator
M
Moderator
15:07, 31st Mar 2016
The_Silent:The same as your other models.
Add "Overhead" and "Origin" attachment points.
Changes made. Approved
The_Silent:
Add "Overhead" and "Origin" attachment points.
Changes made. Approved
(4 ratings)
(as when you try to open/close it the gate itself will move off)
In order to play the right unit animation, i am using this fix:
- FrontierGateAnim
- Events
- Unit - A unit Finishes casting an ability
- Conditions
- Multiple ConditionsOr - Any (Conditions) are true
- Conditions
- (Ability being cast) Equal to (==) Gate Control (FrontierGate)
- (Ability being cast) Equal to (==) Gate Control (FrontierGate)2
- Actions
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Level of GateState (open) for (Triggering unit)) Equal to (==) 1
- Then - Actions
- Animation - Play (Triggering unit)'s stand alternate animation
- -------- PathingUpdateFix --------
- Set temp_point = (Position of (Triggering unit))
- Set temp_point_array[1] = (temp_point offset by 250.00 towards 270.00 degrees)
- Set temp_point_array[2] = (temp_point offset by 250.00 towards 90.00 degrees)
- Unit - Create 1 dummy unit (GatePathUpdater) for (Owner of (Triggering unit)) at temp_point facing Default building facing (270.0) degrees
- Unit - Turn collision for (Last created unit) Off
- Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
- Unit - Order (Last created unit) to Move To temp_point_array[1]
- Unit - Create 1 dummy unit (GatePathUpdater) for (Owner of (Triggering unit)) at temp_point facing Default camera rotation (90) degrees
- Unit - Turn collision for (Last created unit) Off
- Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
- Unit - Order (Last created unit) to Move To temp_point_array[2]
- Custom script: call RemoveLocation(udg_temp_point)
- Custom script: call RemoveLocation(udg_temp_point_array[1])
- Custom script: call RemoveLocation(udg_temp_point_array[2])
- Else - Actions
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Level of GateState (closed) for (Triggering unit)) Equal to (==) 1
- Then - Actions
- Animation - Play (Triggering unit)'s stand animation
- Else - Actions
So just make sure to play the corresponding animation (stand = closed / stand alternate = open) after morphing.
However:
With morphing a little annyoing bug of units persists, where their pathchecking is not updated, meaning that freshly trained units will not travel through a newly opened gate, it is still closed in their logic.
- anyone knows a fix for that?
I just found a fix, shown in triggers, by spawning two dummy units, running through the gate.
GatePathUpdater is just a dummy model (Vexorians dummy model) without any abilities (locust will not update the pathing). Just reduce its selection scale to 0 and no one should notice anything.
This took longer than expected.
Also i suggest making a vertical version.
edit: might be less troublesome to use Freyky's version, which will update the pathing just fine
What do you mean, another gate model? They are always useful, undoubtedly!
The vertical version of this one is really missing too.