diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e7f2b4947..e0196c9d2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -11038,15 +11038,10 @@ void Unit::StopMoving() clearUnitState(UNIT_STAT_MOVING); // send explicit stop packet - // rely on vmaps here because for example stormwind is in air - //float z = MapManager::Instance().GetBaseMap(GetMapId())->GetHeight(GetPositionX(), GetPositionY(), GetPositionZ(), true); - //if (fabs(GetPositionZ() - z) < 2.0f) - // Relocate(GetPositionX(), GetPositionY(), z); - Relocate(GetPositionX(), GetPositionY(),GetPositionZ()); + // player expected for correct work MONSTER_MOVE_WALK + SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0, GetTypeId()==TYPEID_PLAYER ? MONSTER_MOVE_WALK : MONSTER_MOVE_NONE, 0); - SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0, 0, 0); - - // update position and orientation; + // update position and orientation for near players WorldPacket data; BuildHeartBeatMsg(&data); SendMessageToSet(&data,false); diff --git a/src/game/WaypointMovementGenerator.cpp b/src/game/WaypointMovementGenerator.cpp index 71dd52599..3ee796ed6 100644 --- a/src/game/WaypointMovementGenerator.cpp +++ b/src/game/WaypointMovementGenerator.cpp @@ -38,6 +38,7 @@ alter table creature_movement add `wpguid` int(11) default '0'; #include "DestinationHolderImp.h" #include "CreatureAI.h" #include "WaypointManager.h" +#include "WorldPacket.h" #include @@ -261,7 +262,9 @@ void FlightPathMovementGenerator::Finalize(Player & player) if(player.pvpInfo.inHostileArea) player.CastSpell(&player, 2479, true); - player.SetUnitMovementFlags(MONSTER_MOVE_WALK); + // update z position to ground and orientation for landing point + // this prevent cheating with landing point at lags + // when client side flight end early in comparison server side player.StopMoving(); } } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 539e7691c..958440da3 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8075" + #define REVISION_NR "8076" #endif // __REVISION_NR_H__