mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[8076] Fixed well known walk-after-taxi bug.
Also thanks to jolan, yad02, nos4r2zod for deep reseach problem. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
8198da72a9
commit
00fc1d7593
3 changed files with 8 additions and 10 deletions
|
|
@ -11038,15 +11038,10 @@ void Unit::StopMoving()
|
||||||
clearUnitState(UNIT_STAT_MOVING);
|
clearUnitState(UNIT_STAT_MOVING);
|
||||||
|
|
||||||
// send explicit stop packet
|
// send explicit stop packet
|
||||||
// rely on vmaps here because for example stormwind is in air
|
// player expected for correct work MONSTER_MOVE_WALK
|
||||||
//float z = MapManager::Instance().GetBaseMap(GetMapId())->GetHeight(GetPositionX(), GetPositionY(), GetPositionZ(), true);
|
SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0, GetTypeId()==TYPEID_PLAYER ? MONSTER_MOVE_WALK : MONSTER_MOVE_NONE, 0);
|
||||||
//if (fabs(GetPositionZ() - z) < 2.0f)
|
|
||||||
// Relocate(GetPositionX(), GetPositionY(), z);
|
|
||||||
Relocate(GetPositionX(), GetPositionY(),GetPositionZ());
|
|
||||||
|
|
||||||
SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0, 0, 0);
|
// update position and orientation for near players
|
||||||
|
|
||||||
// update position and orientation;
|
|
||||||
WorldPacket data;
|
WorldPacket data;
|
||||||
BuildHeartBeatMsg(&data);
|
BuildHeartBeatMsg(&data);
|
||||||
SendMessageToSet(&data,false);
|
SendMessageToSet(&data,false);
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ alter table creature_movement add `wpguid` int(11) default '0';
|
||||||
#include "DestinationHolderImp.h"
|
#include "DestinationHolderImp.h"
|
||||||
#include "CreatureAI.h"
|
#include "CreatureAI.h"
|
||||||
#include "WaypointManager.h"
|
#include "WaypointManager.h"
|
||||||
|
#include "WorldPacket.h"
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
|
|
@ -261,7 +262,9 @@ void FlightPathMovementGenerator::Finalize(Player & player)
|
||||||
if(player.pvpInfo.inHostileArea)
|
if(player.pvpInfo.inHostileArea)
|
||||||
player.CastSpell(&player, 2479, true);
|
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();
|
player.StopMoving();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8075"
|
#define REVISION_NR "8076"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue