aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp18
-rw-r--r--src/server/game/Entities/Player/Player.h3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp16
-rw-r--r--src/server/game/Entities/Unit/Unit.h11
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp2
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp10
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp16
-rw-r--r--src/server/game/Server/WorldSession.cpp4
-rw-r--r--src/server/game/Spells/Spell.cpp8
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
-rw-r--r--src/server/game/Spells/SpellInfo.cpp4
12 files changed, 52 insertions, 46 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 53f31bddf7d..b556fde1705 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -2730,7 +2730,7 @@ Unit* Creature::SelectNearestHostileUnitInAggroRange(bool useLOS) const
void Creature::UpdateMovementFlags()
{
// Do not update movement flags if creature is controlled by a player (charm/vehicle)
- if (m_movedPlayer)
+ if (m_playerMovingMe)
return;
// Set the movement flags if the creature is in that mode. (Only fly if actually in air, only swim if in water, etc)
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 5b268493ae5..e77e20d323a 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -475,8 +475,8 @@ Player::Player(WorldSession* session): Unit(true)
// Player summoning
m_summon_expire = 0;
- m_mover = this;
- m_movedPlayer = this;
+ m_unitMovedByMe = this;
+ m_playerMovingMe = this;
m_seer = this;
m_homebindMapId = 0;
@@ -22076,7 +22076,7 @@ bool Player::IsNeverVisible() const
bool Player::CanAlwaysSee(WorldObject const* obj) const
{
// Always can see self
- if (m_mover == obj)
+ if (m_unitMovedByMe == obj)
return true;
if (ObjectGuid guid = GetGuidValue(PLAYER_FARSIGHT))
@@ -22371,10 +22371,10 @@ void Player::SendComboPoints()
if (combotarget)
{
WorldPacket data;
- if (m_mover != this)
+ if (m_unitMovedByMe != this)
{
- data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_mover->GetPackGUID().size()+combotarget->GetPackGUID().size()+1);
- data << m_mover->GetPackGUID();
+ data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_unitMovedByMe->GetPackGUID().size()+combotarget->GetPackGUID().size()+1);
+ data << m_unitMovedByMe->GetPackGUID();
}
else
data.Initialize(SMSG_UPDATE_COMBO_POINTS, combotarget->GetPackGUID().size()+1);
@@ -23747,9 +23747,9 @@ void Player::SetClientControl(Unit* target, bool allowMove)
void Player::SetMover(Unit* target)
{
- m_mover->m_movedPlayer = nullptr;
- m_mover = target;
- m_mover->m_movedPlayer = this;
+ m_unitMovedByMe->m_playerMovingMe = nullptr;
+ m_unitMovedByMe = target;
+ m_unitMovedByMe->m_playerMovingMe = this;
}
void Player::UpdateZoneDependentAuras(uint32 newZone)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 38fff9b8d83..1559963ef92 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2068,7 +2068,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
/*** VARIOUS SYSTEMS ***/
/*********************************************************/
void UpdateFallInformationIfNeed(MovementInfo const& minfo, uint16 opcode);
- Unit* m_mover;
+ // only changed for direct client control (possess, vehicle etc.), not stuff you control using pet commands
+ Unit* m_unitMovedByMe;
WorldObject* m_seer;
void SetFallInformation(uint32 time, float z);
void HandleFall(MovementInfo const& movementInfo);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 80f2531e223..6ab10158b3c 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -181,7 +181,7 @@ SpellSchoolMask ProcEventInfo::GetSchoolMask() const
}
Unit::Unit(bool isWorldObject) :
- WorldObject(isWorldObject), m_movedPlayer(NULL), m_lastSanctuaryTime(0),
+ WorldObject(isWorldObject), m_playerMovingMe(NULL), m_lastSanctuaryTime(0),
IsAIEnabled(false), NeedChangeAI(false), LastCharmerGUID(),
m_ControlledByPlayer(false), movespline(new Movement::MoveSpline()),
i_AI(NULL), i_disabledAI(NULL), m_AutoRepeatFirstCast(false), m_procDeep(0),
@@ -12071,7 +12071,7 @@ void Unit::SetSpeedRate(UnitMoveType mtype, float rate)
pet->SetSpeedRate(mtype, m_speed_rate[mtype]);
}
- if (Player* playerMover = GetPlayerMover()) // unit controlled by a player.
+ if (Player* playerMover = GetPlayerBeingMoved()) // unit controlled by a player.
{
// Send notification to self. this packet is only sent to one client (the client of the player concerned by the change).
WorldPacket self;
@@ -12446,7 +12446,7 @@ int32 Unit::CalculateSpellDamage(Unit const* target, SpellInfo const* spellProto
int32 Unit::CalcSpellDuration(SpellInfo const* spellProto)
{
- uint8 comboPoints = m_movedPlayer ? m_movedPlayer->GetComboPoints() : 0;
+ uint8 comboPoints = m_playerMovingMe ? m_playerMovingMe->GetComboPoints() : 0;
int32 minduration = spellProto->GetDuration();
int32 maxduration = spellProto->GetMaxDuration();
@@ -13615,16 +13615,16 @@ void CharmInfo::SetSpellAutocast(SpellInfo const* spellInfo, bool state)
}
}
-Unit* Unit::GetMover() const
+Unit* Unit::GetUnitBeingMoved() const
{
if (Player const* player = ToPlayer())
- return player->m_mover;
+ return player->m_unitMovedByMe;
return nullptr;
}
-Player* Unit::GetPlayerMover() const
+Player* Unit::GetPlayerBeingMoved() const
{
- if (Unit* mover = GetMover())
+ if (Unit* mover = GetUnitBeingMoved())
return mover->ToPlayer();
return nullptr;
}
@@ -16234,7 +16234,7 @@ void Unit::KnockbackFrom(float x, float y, float speedXY, float speedZ)
if (Unit* charmer = GetCharmer())
{
player = charmer->ToPlayer();
- if (player && player->m_mover != this)
+ if (player && player->m_unitMovedByMe != this)
player = NULL;
}
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 5162d2398c3..8441252bef6 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1684,9 +1684,14 @@ class TC_GAME_API Unit : public WorldObject
CharmInfo* InitCharmInfo();
void DeleteCharmInfo();
void UpdateCharmAI();
- Unit* GetMover() const;
- Player* GetPlayerMover() const;
- Player* m_movedPlayer;
+ // returns the unit that this player IS CONTROLLING
+ Unit* GetUnitBeingMoved() const;
+ // returns the player that this player IS CONTROLLING
+ Player* GetPlayerBeingMoved() const;
+ // returns the player that this unit is BEING CONTROLLED BY
+ Player* GetPlayerMovingMe() const { return m_playerMovingMe; }
+ // only set for direct client control (possess effects, vehicles and similar)
+ Player* m_playerMovingMe;
SharedVisionList const& GetSharedVisionList() { return m_sharedVision; }
void AddPlayerToVision(Player* player);
void RemovePlayerFromVision(Player* player);
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 52b36d80202..bd6252e7c0b 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -1625,7 +1625,7 @@ void WorldSession::HandleMoveSetCanFlyAckOpcode(WorldPacket& recvData)
recvData.read_skip<float>(); // unk2
- _player->m_mover->m_movementInfo.flags = movementInfo.GetMovementFlags();
+ _player->m_unitMovedByMe->m_movementInfo.flags = movementInfo.GetMovementFlags();
}
void WorldSession::HandleRequestPetInfoOpcode(WorldPacket& /*recvData */)
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index f6fc5d15bce..b5a21bbcc89 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -209,7 +209,7 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvData)
uint32 flags, time;
recvData >> flags >> time;
- Player* plMover = _player->m_mover->ToPlayer();
+ Player* plMover = _player->m_unitMovedByMe->ToPlayer();
if (!plMover || !plMover->IsBeingTeleportedNear())
return;
@@ -252,7 +252,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvData)
{
uint16 opcode = recvData.GetOpcode();
- Unit* mover = _player->m_mover;
+ Unit* mover = _player->m_unitMovedByMe;
ASSERT(mover != NULL); // there must always be a mover
@@ -492,8 +492,8 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recvData)
recvData >> guid;
if (GetPlayer()->IsInWorld())
- if (_player->m_mover->GetGUID() != guid)
- TC_LOG_DEBUG("network", "HandleSetActiveMoverOpcode: incorrect mover guid: mover is %s and should be %s" , guid.ToString().c_str(), _player->m_mover->GetGUID().ToString().c_str());
+ if (_player->m_unitMovedByMe->GetGUID() != guid)
+ TC_LOG_DEBUG("network", "HandleSetActiveMoverOpcode: incorrect mover guid: mover is %s and should be %s" , guid.ToString().c_str(), _player->m_unitMovedByMe->GetGUID().ToString().c_str());
}
void WorldSession::HandleMoveNotActiveMover(WorldPacket &recvData)
@@ -526,7 +526,7 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket& recvData)
ObjectGuid guid;
recvData >> guid.ReadAsPacked();
- if (_player->m_mover->GetGUID() != guid)
+ if (_player->m_unitMovedByMe->GetGUID() != guid)
return;
recvData.read_skip<uint32>(); // unk
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index 4b2bd4f246e..cbc9be3b140 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -61,7 +61,7 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
Player* pUser = _player;
// ignore for remote control state
- if (pUser->m_mover != pUser)
+ if (pUser->m_unitMovedByMe != pUser)
return;
uint8 bagIndex, slot, castFlags;
@@ -172,7 +172,7 @@ void WorldSession::HandleOpenItemOpcode(WorldPacket& recvPacket)
Player* pUser = _player;
// ignore for remote control state
- if (pUser->m_mover != pUser)
+ if (pUser->m_unitMovedByMe != pUser)
return;
uint8 bagIndex, slot;
@@ -271,8 +271,8 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPacket& recvData)
if (GameObject* obj = GetPlayer()->GetGameObjectIfCanInteractWith(guid))
{
// ignore for remote control state
- if (GetPlayer()->m_mover != GetPlayer())
- if (!(GetPlayer()->IsOnVehicle(GetPlayer()->m_mover) || GetPlayer()->IsMounted()) && !obj->GetGOInfo()->IsUsableMounted())
+ if (GetPlayer()->m_unitMovedByMe != GetPlayer())
+ if (!(GetPlayer()->IsOnVehicle(GetPlayer()->m_unitMovedByMe) || GetPlayer()->IsMounted()) && !obj->GetGOInfo()->IsUsableMounted())
return;
obj->Use(GetPlayer());
@@ -287,7 +287,7 @@ void WorldSession::HandleGameobjectReportUse(WorldPacket& recvPacket)
TC_LOG_DEBUG("network", "WORLD: Recvd CMSG_GAMEOBJ_REPORT_USE Message [%s]", guid.ToString().c_str());
// ignore for remote control state
- if (_player->m_mover != _player)
+ if (_player->m_unitMovedByMe != _player)
return;
if (GameObject* go = GetPlayer()->GetGameObjectIfCanInteractWith(guid))
@@ -308,7 +308,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
TC_LOG_DEBUG("network", "WORLD: got cast spell packet, castCount: %u, spellId: %u, castFlags: %u, data length = %u", castCount, spellId, castFlags, (uint32)recvPacket.size());
// ignore for remote control state (for player case)
- Unit* mover = _player->m_mover;
+ Unit* mover = _player->m_unitMovedByMe;
if (mover != _player && mover->GetTypeId() == TYPEID_PLAYER)
{
recvPacket.rfinish(); // prevent spam at ignore packet
@@ -500,7 +500,7 @@ void WorldSession::HandleCancelChanneling(WorldPacket& recvData)
recvData.read_skip<uint32>(); // spellid, not used
// ignore for remote control state (for player case)
- Unit* mover = _player->m_mover;
+ Unit* mover = _player->m_unitMovedByMe;
if (mover != _player && mover->GetTypeId() == TYPEID_PLAYER)
return;
@@ -510,7 +510,7 @@ void WorldSession::HandleCancelChanneling(WorldPacket& recvData)
void WorldSession::HandleTotemDestroyed(WorldPacket& recvPacket)
{
// ignore for remote control state
- if (_player->m_mover != _player)
+ if (_player->m_unitMovedByMe != _player)
return;
uint8 slotId;
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 8cf09aa2560..3ecd3f24859 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -887,8 +887,8 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
*/
REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY) && GetSecurity() == SEC_PLAYER &&
- !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_FLY) &&
- !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED),
+ !GetPlayer()->m_unitMovedByMe->HasAuraType(SPELL_AURA_FLY) &&
+ !GetPlayer()->m_unitMovedByMe->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED),
MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY);
//! Cannot fly and fall at the same time
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 057899ba283..9545b957c57 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2925,7 +2925,7 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered
m_caster->ToPlayer()->SetSpellModTakingSpell(this, false);
// Set combo point requirement
- if ((_triggeredCastFlags & TRIGGERED_IGNORE_COMBO_POINTS) || m_CastItem || !m_caster->m_movedPlayer)
+ if ((_triggeredCastFlags & TRIGGERED_IGNORE_COMBO_POINTS) || m_CastItem || !m_caster->m_playerMovingMe)
m_needComboPoints = false;
SpellCastResult result = CheckCast(true);
@@ -3500,15 +3500,15 @@ void Spell::_handle_immediate_phase()
void Spell::_handle_finish_phase()
{
- if (m_caster->m_movedPlayer)
+ if (m_caster->m_playerMovingMe)
{
// Take for real after all targets are processed
if (m_needComboPoints)
- m_caster->m_movedPlayer->ClearComboPoints();
+ m_caster->m_playerMovingMe->ClearComboPoints();
// Real add combo points from effects
if (m_comboPointGain)
- m_caster->m_movedPlayer->GainSpellComboPoints(m_comboPointGain);
+ m_caster->m_playerMovingMe->GainSpellComboPoints(m_comboPointGain);
}
if (m_caster->m_extraAttacks && m_spellInfo->HasEffect(SPELL_EFFECT_ADD_EXTRA_ATTACKS))
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 2ea01870c65..0ebc54c4365 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -4079,13 +4079,13 @@ void Spell::EffectAddComboPoints(SpellEffIndex /*effIndex*/)
if (!unitTarget)
return;
- if (!m_caster->m_movedPlayer)
+ if (!m_caster->m_playerMovingMe)
return;
if (damage <= 0)
return;
- m_caster->m_movedPlayer->AddComboPoints(unitTarget, damage, this);
+ m_caster->m_playerMovingMe->AddComboPoints(unitTarget, damage, this);
}
void Spell::EffectDuel(SpellEffIndex effIndex)
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 83cc3e7892b..449690f96b6 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -444,8 +444,8 @@ int32 SpellEffectInfo::CalcValue(Unit const* caster, int32 const* bp, Unit const
if (caster)
{
// bonus amount from combo points
- if (caster->m_movedPlayer)
- if (uint8 comboPoints = caster->m_movedPlayer->GetComboPoints())
+ if (caster->m_playerMovingMe)
+ if (uint8 comboPoints = caster->m_playerMovingMe->GetComboPoints())
if (float comboDamage = PointsPerComboPoint)
value += comboDamage* comboPoints;