I'm trying to make TD with strictly mazing, but have come across a problem with detecting blocking.
The only solution I can think of is to detect when a creep stops moving because it is unable to follow along a maze. This trigger actually works, but the unit typically follows the maze up until the dead end, runs back a short distance, returns to the dead end, and then it is finally recognized by the trigger. I'd like to find a way to detect the dead end on the spot so there is no build up of creeps going back and forth.
Thanks in advance.
The only solution I can think of is to detect when a creep stops moving because it is unable to follow along a maze. This trigger actually works, but the unit typically follows the maze up until the dead end, runs back a short distance, returns to the dead end, and then it is finally recognized by the trigger. I'd like to find a way to detect the dead end on the spot so there is no build up of creeps going back and forth.
Thanks in advance.
-
Blocking
-
Events
- Time - Every 1.00 seconds of game time
- Conditions
-
Actions
- Set tempStuckCreeps = (Units owned by Neutral Extra matching (((Current order of (Matching unit)) Not equal to (Order(move))) and (((Matching unit) is alive) Equal to True)))
-
Unit Group - Pick every unit in tempStuckCreeps and do (Actions)
-
Loop - Actions
- Set tempPoint = (Position of (Picked unit))
- Set tempUnits = (Units within 100.00 of tempPoint matching (((Matching unit) is A structure) Equal to True))
- Set tempPlayers = (Player group((Player((Custom value of (Picked unit))))))
- Unit - Explode (Random unit from tempUnits)
- Game - Display to tempPlayers for 0.50 seconds the text: Blocking detected!
- Custom script: call DestroyForce( udg_tempPlayers )
- Custom script: call DestroyGroup( udg_tempUnits )
- Custom script: call RemoveLocation( udg_tempPoint )
- Unit Group - Remove (Picked unit) from tempStuckCreeps
-
Loop - Actions
- Custom script: call DestroyGroup( udg_tempStuckCreeps )
-
Events