Knockback3 behaves poorly when a unit ends up on a cliff edge (gets stuck).
This PR improves the behavior in a few ways:
A unit is no longer considered to have hit a wall in the following cases:
The unit is ascending and the next tick puts the unit at higher Z than the terrain
The units current position before next tick is not walkable
When a unit strikes a wall, instead of losing all horizontal velocity, the unit bounces, knocking in the opposite direction. Friction applies as in the bouncing off the ground case.
It is still possible to get stuck on cliffs (!) but this PR makes it significantly easier to get un-stuck.
Closes #383
See https://github.com/Cokemonkey11/knockback3-demo/ for demo map
Knockback3 behaves poorly when a unit ends up on a cliff edge (gets stuck).
This PR improves the behavior in a few ways:
It is still possible to get stuck on cliffs (!) but this PR makes it significantly easier to get un-stuck.