TrinityCore/TrinityCore — pull request #5649 by Elron103 (2012-03-11 14:52:32+00:00)
Title: Core/Movement: Fix random position finding near edges, avoid big z-coordinate differences

## Description
After using the new movement stuff, I noticed an issue with the NPC "Rotting Frost Giant" (38490) in Icecrown Citadel. It uses the ability "Stomp" (64652).

The ability "Stomp" causes the NPC itsself to jump to a new position. But the position calculation is wrong. The calculation returns coordinates, which are on another ground level.

The function "void WorldObject::MovePosition(Position &pos, float dist, float angle)" is used in the calculation for the jump coordinates. There is a new extended function called "void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float angle)".

The issue here itsself existed for a long time, but the recent changes in movement just made it visible.

This extended function has a part of code, which avoids big z-coordinate differences. This part of code should somehow be implemented (or replaced) in the responsible code, so there will never be any falling off of edges anymore.

Related to #5322

## Revisions
Trinity: https://github.com/TrinityCore/TrinityCore/commit/f0f68f15a86c5ac0c83c47c6db67786506f8460d
Database: TDB rev. 46