diff options
author | Treeston <treeston.mmoc@gmail.com> | 2016-08-20 12:43:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-20 12:43:04 +0200 |
commit | 8deda7ed7f18615937ec5db2d30a6badc3b157c1 (patch) | |
tree | 2b8d8e7f2795877ad86bad3a8312f48b31c41987 | |
parent | d3495da30bdfa9c198a2f304c29a1b0b994bf4c4 (diff) |
Entities/Unit: Cleanup refactor. Changes: (#17819)
+ Unit::m_movedPlayer -> Unit::m_playerMovingMe
+ Player::m_mover -> Player::m_unitMovedByMe
+ Unit::GetMover() -> Unit::GetUnitBeingMoved()
+ Unit::GetPlayerMover() -> Unit::GetPlayerBeingMoved()
+ NEW: Unit::GetClientControllingPlayer()
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 18 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 16 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 11 | ||||
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Handlers/SpellHandler.cpp | 16 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 4 |
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; |