⇐ Index
MoveTowardsAndAvoid
MoveTowardsAndAvoid(<-start <-target <-delta <-minHeight <-checkRange <-checkCreeper <-checkAC <-checkPseudoTerrain) ->pos
Description
Takes a starting 3D position (a 3-vector) and generates a new 3D position that is moved towards the target (also a 3-vector). The resulting point will not be displaced more than the delta argument.
The delta is simply the speed (in cells) this unit moves per game frame.
The minHeight argument restricts how close, height wise, the resulting point can be to the terrain and/or creeper.
The checkRange argument is an integer that specifies how many cells outward to inspect when enforcing the minHeight. A value of 0 means to only check the map cell that the target is currently within on.
The checkCreeper argument is a Boolean indicating whether to look at creeper for enforcing the minHeight.
The checkAC argument is a Boolean indicating whether to look at anticreeper for enforcing the minHeight.
The checkPseudoTerrain argument is a Boolean indicating whether to look at invisible pseudo terrain (like a shield creates) for enforcing the minHeight.
Examples
#Move a unit towards a destination and crawl over creeper, anticreeper, and shields
GetTerrainVector(42 23) ->target
0.1 ->speed
1 ->minHeight
SetUnitPosition(self MoveTowardsAndAvoid(GetUnitPosition(self) <-target <-speed <-minHeight 1 true true true))
⇐ Index