ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.
In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
* If creature near respawn point and by defult do random movement
then restart from current point
* If creature have default waypoints movegen restart from last
updated point. Not reload waypoints
It can be used in time when need do some tasks before
another movement generator add on top to motion stack.
This just finish pair Interrupt->Reset similar Initilize->Finilize
In general movementgenerator have states:
Initilize=>Interrupt<=>[-some addition movegen->]<=>Reset=>Finalize
To update a creatures distance to it's target without creating a new movement generator. Note it can only be used where creature is using TargetedMovementGenerator.
Signed-off-by: NoFantasy <nofantasy@nf.no>