mirror of
https://github.com/mangosfour/server.git
synced 2025-12-24 19:37:07 +00:00
[0161] Merge mangos changes. Author: @kid10
Fix some corresponding opcodes Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
parent
e90caf7349
commit
3f0db2fbda
6 changed files with 79 additions and 50 deletions
|
|
@ -4447,28 +4447,17 @@ void Player::DeleteOldCharacters(uint32 keepDays)
|
|||
}
|
||||
}
|
||||
|
||||
void Player::SetMovement(PlayerMovementType pType)
|
||||
void Player::SetRoot(bool enable)
|
||||
{
|
||||
WorldPacket data;
|
||||
switch (pType)
|
||||
{
|
||||
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;
|
||||
}
|
||||
BuildForceMoveRootPacket(&data, enable, 0);
|
||||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
void Player::SetWaterWalk(bool enable)
|
||||
{
|
||||
WorldPacket data;
|
||||
BuildMoveWaterWalkPacket(&data, enable, 0);
|
||||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
|
|
@ -4509,9 +4498,9 @@ void Player::BuildPlayerRepop()
|
|||
// convert player body to ghost
|
||||
SetHealth(1);
|
||||
|
||||
SetMovement(MOVE_WATER_WALK);
|
||||
SetWaterWalk(true);
|
||||
if (!GetSession()->isLogingOut())
|
||||
SetMovement(MOVE_UNROOT);
|
||||
SetRoot(false);
|
||||
|
||||
// BG - remove insignia related
|
||||
RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE);
|
||||
|
|
@ -4547,8 +4536,8 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
|
|||
RemoveAurasDueToSpell(20584); // speed bonuses
|
||||
RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST
|
||||
|
||||
SetMovement(MOVE_LAND_WALK);
|
||||
SetMovement(MOVE_UNROOT);
|
||||
SetWaterWalk(false);
|
||||
SetRoot(false);
|
||||
|
||||
m_deathTimer = 0;
|
||||
|
||||
|
|
@ -4601,7 +4590,7 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
|
|||
|
||||
void Player::KillPlayer()
|
||||
{
|
||||
SetMovement(MOVE_ROOT);
|
||||
SetRoot(true);
|
||||
|
||||
StopMirrorTimers(); // disable timers(bars)
|
||||
|
||||
|
|
@ -20483,7 +20472,7 @@ void Player::SendInitialPacketsAfterAddToMap()
|
|||
}
|
||||
|
||||
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.
|
||||
if (HasAuraType(SPELL_AURA_MOD_ROOT))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue