diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-05 13:31:25 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-05 13:31:25 +0200 |
commit | 272d2a29e5e581c0d447ef55e5a3834e366fd282 (patch) | |
tree | 0f3377faacc0e22e2315ed417f45bb5aa65513cd /src | |
parent | 1a305fb6b9723052b2ccb95e5812896dcc035b27 (diff) |
Core/Entities: Tweak WorldObject::IsNeverVisible to pass the seer
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 2 |
6 files changed, 8 insertions, 9 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index e2dfed4fb8c..99633402afe 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1039,9 +1039,9 @@ void GameObject::SaveRespawnTime() GetMap()->SaveGORespawnTime(m_spawnId, m_respawnTime); } -bool GameObject::IsNeverVisible() const +bool GameObject::IsNeverVisibleFor(WorldObject const* seer) const { - if (WorldObject::IsNeverVisible()) + if (WorldObject::IsNeverVisibleFor(seer)) return true; if (GetGoType() == GAMEOBJECT_TYPE_SPELL_FOCUS && GetGOInfo()->spellFocus.serverOnly == 1) diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 7e265ebf2cd..49b91159d94 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -1091,8 +1091,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> void TriggeringLinkedGameObject(uint32 trapEntry, Unit* target); - bool IsNeverVisible() const override; - + bool IsNeverVisibleFor(WorldObject const* seer) const override; bool IsAlwaysVisibleFor(WorldObject const* seer) const override; bool IsInvisibleDueToDespawn() const override; diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 71ce53919ce..bf21bd1db21 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -742,7 +742,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation void SetLocationMapId(uint32 _mapId) { m_mapId = _mapId; } void SetLocationInstanceId(uint32 _instanceId) { m_InstanceId = _instanceId; } - virtual bool IsNeverVisible() const { return !IsInWorld(); } + virtual bool IsNeverVisibleFor(WorldObject const* /*seer*/) const { return !IsInWorld(); } virtual bool IsAlwaysVisibleFor(WorldObject const* /*seer*/) const { return false; } virtual bool IsInvisibleDueToDespawn() const { return false; } //difference from IsAlwaysVisibleFor: 1. after distance check; 2. use owner or charmer as seer diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a7e773a9039..6b83425c65c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22963,9 +22963,9 @@ bool Player::HaveAtClient(Object const* u) const return u == this || m_clientGUIDs.find(u->GetGUID()) != m_clientGUIDs.end(); } -bool Player::IsNeverVisible() const +bool Player::IsNeverVisibleFor(WorldObject const* seer) const { - if (Unit::IsNeverVisible()) + if (Unit::IsNeverVisibleFor(seer)) return true; if (GetSession()->PlayerLogout() || GetSession()->PlayerLoading()) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 19ccb7ce3e7..1e43aaf88ff 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2346,7 +2346,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool HaveAtClient(Object const* u) const; - bool IsNeverVisible() const override; + bool IsNeverVisibleFor(WorldObject const* seer) const override; bool IsVisibleGloballyFor(Player const* player) const; diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index bc0cd40713e..32c05af10af 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -786,7 +786,7 @@ namespace WorldPackets bool SpeedAsTime = false; float TravelSpeed = 0.0f; float UnkZero = 0.0f; // Always zero - G3D::Vector3 SourceOrientation; // Orientation is z + G3D::Vector3 SourceOrientation; // Vector of rotations, Orientation is z G3D::Vector3 TargetLocation; // Exclusive with Target }; |