[0161] Merge mangos changes. Author: @kid10

Fix some corresponding opcodes

Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
Yaki Khadafi 2012-08-23 15:21:03 +03:00 committed by Antz
parent e90caf7349
commit 3f0db2fbda
6 changed files with 79 additions and 50 deletions

View file

@ -2543,8 +2543,19 @@ void Creature::SetWalk(bool enable)
m_movementInfo.AddMovementFlag(MOVEFLAG_WALK_MODE); m_movementInfo.AddMovementFlag(MOVEFLAG_WALK_MODE);
else else
m_movementInfo.RemoveMovementFlag(MOVEFLAG_WALK_MODE); m_movementInfo.RemoveMovementFlag(MOVEFLAG_WALK_MODE);
WorldPacket data(enable ? SMSG_SPLINE_MOVE_SET_WALK_MODE : SMSG_SPLINE_MOVE_SET_RUN_MODE, 9); WorldPacket data(enable ? SMSG_SPLINE_MOVE_SET_WALK_MODE : SMSG_SPLINE_MOVE_SET_RUN_MODE, 9);
data << GetPackGUID(); if (enable)
{
data.WriteGuidMask<7, 6, 5, 1, 3, 4, 2, 0>(GetObjectGuid());
data.WriteGuidBytes<4, 2, 1, 6, 5, 0, 7, 3>(GetObjectGuid());
}
else
{
data.WriteGuidMask<5, 6, 3, 7, 2, 0, 4, 1>(GetObjectGuid());
data.WriteGuidBytes<7, 0, 4, 6, 5, 1, 2, 3>(GetObjectGuid());
}
SendMessageToSet(&data, true); SendMessageToSet(&data, true);
} }
@ -2556,7 +2567,17 @@ void Creature::SetLevitate(bool enable)
m_movementInfo.RemoveMovementFlag(MOVEFLAG_LEVITATING); m_movementInfo.RemoveMovementFlag(MOVEFLAG_LEVITATING);
WorldPacket data(enable ? SMSG_SPLINE_MOVE_GRAVITY_DISABLE : SMSG_SPLINE_MOVE_GRAVITY_ENABLE, 9); WorldPacket data(enable ? SMSG_SPLINE_MOVE_GRAVITY_DISABLE : SMSG_SPLINE_MOVE_GRAVITY_ENABLE, 9);
data << GetPackGUID(); if (enable)
{
data.WriteGuidMask<7, 3, 4, 2, 5, 1, 0, 6>(GetObjectGuid());
data.WriteGuidBytes<7, 1, 3, 4, 6, 2, 5, 0>(GetObjectGuid());
}
else
{
data.WriteGuidMask<5, 4, 7, 1, 3, 6, 2, 0>(GetObjectGuid());
data.WriteGuidBytes<7, 3, 4, 2, 1, 6, 0, 5>(GetObjectGuid());
}
SendMessageToSet(&data, true); SendMessageToSet(&data, true);
} }
@ -2568,7 +2589,17 @@ void Creature::SetRoot(bool enable)
m_movementInfo.RemoveMovementFlag(MOVEFLAG_ROOT); m_movementInfo.RemoveMovementFlag(MOVEFLAG_ROOT);
WorldPacket data(enable ? SMSG_SPLINE_MOVE_ROOT : SMSG_SPLINE_MOVE_UNROOT, 9); WorldPacket data(enable ? SMSG_SPLINE_MOVE_ROOT : SMSG_SPLINE_MOVE_UNROOT, 9);
data << GetPackGUID(); if (enable)
{
data.WriteGuidMask<5, 4, 6, 1, 3, 7, 2, 0>(GetObjectGuid());
data.WriteGuidBytes<2, 1, 7, 3, 5, 0, 6, 4>(GetObjectGuid());
}
else
{
data.WriteGuidMask<0, 1, 6, 5, 3, 2, 7, 4>(GetObjectGuid());
data.WriteGuidBytes<6, 3, 1, 5, 2, 0, 7, 4>(GetObjectGuid());
}
SendMessageToSet(&data, true); SendMessageToSet(&data, true);
} }
@ -2580,6 +2611,17 @@ void Creature::SetWaterWalk(bool enable)
m_movementInfo.RemoveMovementFlag(MOVEFLAG_WATERWALKING); m_movementInfo.RemoveMovementFlag(MOVEFLAG_WATERWALKING);
WorldPacket data(enable ? SMSG_SPLINE_MOVE_WATER_WALK : SMSG_SPLINE_MOVE_LAND_WALK, 9); WorldPacket data(enable ? SMSG_SPLINE_MOVE_WATER_WALK : SMSG_SPLINE_MOVE_LAND_WALK, 9);
data << GetPackGUID(); if (enable)
{
data.WriteGuidMask<6, 1, 4, 2, 3, 7, 5, 0>(GetObjectGuid());
data.WriteGuidBytes<0, 6, 3, 7, 4, 2, 5, 1>(GetObjectGuid());
}
else
{
data.WriteGuidMask<5, 0, 4, 6, 7, 2, 3, 1>(GetObjectGuid());
data.WriteGuidBytes<5, 7, 3, 4, 1, 2, 0, 6>(GetObjectGuid());
}
SendMessageToSet(&data, true); SendMessageToSet(&data, true);
} }

View file

@ -833,17 +833,17 @@ void InitializeOpcodes()
//OPCODE(SMSG_SPLINE_SET_WALK_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_SET_WALK_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_SET_SWIM_BACK_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_SET_SWIM_BACK_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_SET_TURN_RATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_SET_TURN_RATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_UNROOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_UNROOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_FEATHER_FALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_FEATHER_FALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_NORMAL_FALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_NORMAL_FALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_SET_HOVER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_SET_HOVER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_UNSET_HOVER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_UNSET_HOVER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_WATER_WALK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_WATER_WALK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_LAND_WALK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_LAND_WALK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_START_SWIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_START_SWIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_STOP_SWIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPLINE_MOVE_STOP_SWIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_SET_RUN_MODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_SET_RUN_MODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_SET_WALK_MODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_SET_WALK_MODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_GM_NUKE_ACCOUNT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(CMSG_GM_NUKE_ACCOUNT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(MSG_GM_DESTROY_CORPSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(MSG_GM_DESTROY_CORPSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_GM_DESTROY_ONLINE_CORPSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(CMSG_GM_DESTROY_ONLINE_CORPSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -855,7 +855,7 @@ void InitializeOpcodes()
OPCODE(CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionInactiveOpcode ); OPCODE(CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionInactiveOpcode );
OPCODE(CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode ); OPCODE(CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode );
//OPCODE(MSG_MOVE_TIME_SKIPPED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(MSG_MOVE_TIME_SKIPPED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_SPLINE_MOVE_ROOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_ROOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_EXPLORATION_ALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(CMSG_SET_EXPLORATION_ALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_INVALIDATE_PLAYER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_INVALIDATE_PLAYER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_RESET_INSTANCES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode ); //OPCODE(CMSG_RESET_INSTANCES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode );
@ -1296,8 +1296,8 @@ void InitializeOpcodes()
//OPCODE(SMSG_MOVE_GRAVITY_ENABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_MOVE_GRAVITY_ENABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(MSG_MOVE_GRAVITY_CHNG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(MSG_MOVE_GRAVITY_CHNG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_GRAVITY_DISABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_GRAVITY_DISABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPLINE_MOVE_GRAVITY_ENABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_SPLINE_MOVE_GRAVITY_ENABLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_USE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUseOpcode ); //OPCODE(CMSG_USE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUseOpcode );
//OPCODE(SMSG_USE_EQUIPMENT_SET_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_USE_EQUIPMENT_SET_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_FORCE_ANIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(CMSG_FORCE_ANIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );

View file

@ -818,17 +818,17 @@ enum Opcodes
SMSG_SPLINE_SET_WALK_SPEED = 0x1302, SMSG_SPLINE_SET_WALK_SPEED = 0x1302,
SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x1303, SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x1303,
SMSG_SPLINE_SET_TURN_RATE = 0x1304, SMSG_SPLINE_SET_TURN_RATE = 0x1304,
SMSG_SPLINE_MOVE_UNROOT = 0x1305, SMSG_SPLINE_MOVE_UNROOT = 0x75B6, // 4.3.4 15595
SMSG_SPLINE_MOVE_FEATHER_FALL = 0x1306, SMSG_SPLINE_MOVE_FEATHER_FALL = 0x1306,
SMSG_SPLINE_MOVE_NORMAL_FALL = 0x1307, SMSG_SPLINE_MOVE_NORMAL_FALL = 0x1307,
SMSG_SPLINE_MOVE_SET_HOVER = 0x1308, SMSG_SPLINE_MOVE_SET_HOVER = 0x1308,
SMSG_SPLINE_MOVE_UNSET_HOVER = 0x1309, SMSG_SPLINE_MOVE_UNSET_HOVER = 0x1309,
SMSG_SPLINE_MOVE_WATER_WALK = 0x130A, SMSG_SPLINE_MOVE_WATER_WALK = 0x50A2, // 4.3.4 15595
SMSG_SPLINE_MOVE_LAND_WALK = 0x130B, SMSG_SPLINE_MOVE_LAND_WALK = 0x3DA7, // 4.3.4 15595
SMSG_SPLINE_MOVE_START_SWIM = 0x130C, SMSG_SPLINE_MOVE_START_SWIM = 0x130C,
SMSG_SPLINE_MOVE_STOP_SWIM = 0x130D, SMSG_SPLINE_MOVE_STOP_SWIM = 0x130D,
SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x130E, SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x75A7, // 4.3.4 15595
SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x130F, SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x54B6, // 4.3.4 15595
CMSG_GM_NUKE_ACCOUNT = 0x1310, CMSG_GM_NUKE_ACCOUNT = 0x1310,
MSG_GM_DESTROY_CORPSE = 0x1311, MSG_GM_DESTROY_CORPSE = 0x1311,
CMSG_GM_DESTROY_ONLINE_CORPSE = 0x1312, CMSG_GM_DESTROY_ONLINE_CORPSE = 0x1312,
@ -840,7 +840,7 @@ enum Opcodes
CMSG_SET_FACTION_INACTIVE = 0x0E37, // 4.3.4 15595 CMSG_SET_FACTION_INACTIVE = 0x0E37, // 4.3.4 15595
CMSG_SET_WATCHED_FACTION = 0x2434, // 4.3.4 15595 CMSG_SET_WATCHED_FACTION = 0x2434, // 4.3.4 15595
MSG_MOVE_TIME_SKIPPED = 0x131A, MSG_MOVE_TIME_SKIPPED = 0x131A,
SMSG_SPLINE_MOVE_ROOT = 0x131B, SMSG_SPLINE_MOVE_ROOT = 0x51B4, // 4.3.4 15595
CMSG_SET_EXPLORATION_ALL = 0x131C, CMSG_SET_EXPLORATION_ALL = 0x131C,
SMSG_INVALIDATE_PLAYER = 0x131D, SMSG_INVALIDATE_PLAYER = 0x131D,
CMSG_RESET_INSTANCES = 0x131E, CMSG_RESET_INSTANCES = 0x131E,
@ -1281,8 +1281,8 @@ enum Opcodes
SMSG_MOVE_GRAVITY_ENABLE = 0x14D1, SMSG_MOVE_GRAVITY_ENABLE = 0x14D1,
CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x14D2, CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x14D2,
MSG_MOVE_GRAVITY_CHNG = 0x14D3, MSG_MOVE_GRAVITY_CHNG = 0x14D3,
SMSG_SPLINE_MOVE_GRAVITY_DISABLE = 0x14D4, SMSG_SPLINE_MOVE_GRAVITY_DISABLE = 0x5DB5, // 4.3.4 15595
SMSG_SPLINE_MOVE_GRAVITY_ENABLE = 0x14D5, SMSG_SPLINE_MOVE_GRAVITY_ENABLE = 0x3CA6, // 4.3.4 15595
CMSG_USE_EQUIPMENT_SET = 0x14D6, CMSG_USE_EQUIPMENT_SET = 0x14D6,
SMSG_USE_EQUIPMENT_SET_RESULT = 0x14D7, SMSG_USE_EQUIPMENT_SET_RESULT = 0x14D7,
CMSG_FORCE_ANIM = 0x14D8, CMSG_FORCE_ANIM = 0x14D8,

View file

@ -4447,28 +4447,17 @@ void Player::DeleteOldCharacters(uint32 keepDays)
} }
} }
void Player::SetMovement(PlayerMovementType pType) void Player::SetRoot(bool enable)
{ {
WorldPacket data; WorldPacket data;
switch (pType) BuildForceMoveRootPacket(&data, enable, 0);
{ GetSession()->SendPacket(&data);
case MOVE_ROOT: }
case MOVE_UNROOT:
{
BuildForceMoveRootPacket(&data, pType == MOVE_ROOT, 0);
break;
}
case MOVE_WATER_WALK:
case MOVE_LAND_WALK:
{
BuildMoveWaterWalkPacket(&data, pType == MOVE_WATER_WALK, 0);
break;
}
default:
sLog.outError("Player::SetMovement: Unsupported move type (%d), data not sent to client.", pType);
return;
}
void Player::SetWaterWalk(bool enable)
{
WorldPacket data;
BuildMoveWaterWalkPacket(&data, enable, 0);
GetSession()->SendPacket(&data); GetSession()->SendPacket(&data);
} }
@ -4509,9 +4498,9 @@ void Player::BuildPlayerRepop()
// convert player body to ghost // convert player body to ghost
SetHealth(1); SetHealth(1);
SetMovement(MOVE_WATER_WALK); SetWaterWalk(true);
if (!GetSession()->isLogingOut()) if (!GetSession()->isLogingOut())
SetMovement(MOVE_UNROOT); SetRoot(false);
// BG - remove insignia related // BG - remove insignia related
RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE);
@ -4547,8 +4536,8 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
RemoveAurasDueToSpell(20584); // speed bonuses RemoveAurasDueToSpell(20584); // speed bonuses
RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST
SetMovement(MOVE_LAND_WALK); SetWaterWalk(false);
SetMovement(MOVE_UNROOT); SetRoot(false);
m_deathTimer = 0; m_deathTimer = 0;
@ -4601,7 +4590,7 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
void Player::KillPlayer() void Player::KillPlayer()
{ {
SetMovement(MOVE_ROOT); SetRoot(true);
StopMirrorTimers(); // disable timers(bars) StopMirrorTimers(); // disable timers(bars)
@ -20483,7 +20472,7 @@ void Player::SendInitialPacketsAfterAddToMap()
} }
if (HasAuraType(SPELL_AURA_MOD_STUN)) if (HasAuraType(SPELL_AURA_MOD_STUN))
SetMovement(MOVE_ROOT); SetRoot(true);
// manual send package (have code in ApplyModifier(true,true); that don't must be re-applied. // manual send package (have code in ApplyModifier(true,true); that don't must be re-applied.
if (HasAuraType(SPELL_AURA_MOD_ROOT)) if (HasAuraType(SPELL_AURA_MOD_ROOT))

View file

@ -1459,9 +1459,8 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
// recommend use MonsterMove/MonsterMoveWithSpeed for most case that correctly work with movegens // recommend use MonsterMove/MonsterMoveWithSpeed for most case that correctly work with movegens
// if used additional args in ... part then floats must explicitly casted to double // if used additional args in ... part then floats must explicitly casted to double
void SendHeartBeat(); void SendHeartBeat();
bool IsLevitating() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_LEVITATING);}
bool IsLevitating() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_LEVITATING); } bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_WALK_MODE);}
bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_WALK_MODE); }
bool IsRooted() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_ROOT); } bool IsRooted() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_ROOT); }
virtual void SetRoot(bool enabled) {} virtual void SetRoot(bool enabled) {}
virtual void SetWaterWalk(bool enabled) {} virtual void SetWaterWalk(bool enabled) {}
@ -1892,7 +1891,6 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
void SetSpeedRate(UnitMoveType mtype, float rate, bool forced = false); void SetSpeedRate(UnitMoveType mtype, float rate, bool forced = false);
void KnockBackFrom(Unit* target, float horizontalSpeed, float verticalSpeed); void KnockBackFrom(Unit* target, float horizontalSpeed, float verticalSpeed);
void KnockBackWithAngle(float angle, float horizontalSpeed, float verticalSpeed);
void _RemoveAllAuraMods(); void _RemoveAllAuraMods();
void _ApplyAllAuraMods(); void _ApplyAllAuraMods();

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "12111" #define REVISION_NR "0161"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__