This is an old revision of the document!
⇐ 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 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