diff options
-rw-r--r-- | src/server/game/Entities/Object/G3DPosition.hpp | 6 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 | ||||
-rw-r--r-- | src/server/game/Handlers/SpellHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Texts/ChatTextBuilder.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Events/midsummer.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp | 2 |
7 files changed, 15 insertions, 17 deletions
diff --git a/src/server/game/Entities/Object/G3DPosition.hpp b/src/server/game/Entities/Object/G3DPosition.hpp index 413072fc811..f83a900bcd9 100644 --- a/src/server/game/Entities/Object/G3DPosition.hpp +++ b/src/server/game/Entities/Object/G3DPosition.hpp @@ -22,8 +22,8 @@ #include <G3D/Vector3.h> #include "Errors.h" -inline G3D::Vector3 PositionToVector3(Position p) { return { p.m_positionX, p.m_positionY, p.m_positionZ }; } -inline G3D::Vector3 PositionToVector3(Position const* p) { return { ASSERT_NOTNULL(p)->m_positionX, p->m_positionY, p->m_positionZ }; } -inline Position Vector3ToPosition(G3D::Vector3 v) { return { v.x, v.y, v.z }; } +inline G3D::Vector3 PositionToVector3(Position const& p) { return { p.m_positionX, p.m_positionY, p.m_positionZ }; } +inline G3D::Vector3 PositionToVector3(Position const* p) { ASSERT(p); return { p->m_positionX, p->m_positionY, p->m_positionZ }; } +inline Position Vector3ToPosition(G3D::Vector3 const& v) { return { v.x, v.y, v.z }; } #endif diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 0aeb4e61aff..2c4731bcaf1 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2124,7 +2124,7 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player> void KillPlayer(); static void OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction trans); bool HasCorpse() const { return _corpseLocation.GetMapId() != MAPID_INVALID; } - WorldLocation GetCorpseLocation() const { return _corpseLocation; } + WorldLocation const& GetCorpseLocation() const { return _corpseLocation; } void InitializeSelfResurrectionSpells(); void ResurrectPlayer(float restore_percent, bool applySickness = false); void BuildPlayerRepop(); diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 9b39eb0b5f0..d2fa503c7d4 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -512,9 +512,7 @@ void WorldSession::HandleMissileTrajectoryCollision(WorldPackets::Spells::Missil if (!spell || !spell->m_targets.HasDst()) return; - Position pos = *spell->m_targets.GetDstPos(); - pos.Relocate(packet.CollisionPos); - spell->m_targets.ModDst(pos); + spell->m_targets.ModDst(packet.CollisionPos); // we changed dest, recalculate flight time spell->RecalculateDelayMomentForDst(); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d39691e5a9c..266727f24cf 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1250,7 +1250,7 @@ void Spell::SelectImplicitNearbyTargets(SpellEffectInfo const& spellEffectInfo, void Spell::SelectImplicitConeTargets(SpellEffectInfo const& spellEffectInfo, SpellImplicitTargetInfo const& targetType, SpellTargetIndex targetIndex, uint32 effMask) { - Position coneSrc(*m_caster); + Position coneSrc = m_caster->GetPosition(); float coneAngle = m_spellInfo->ConeAngle; switch (targetType.GetReferenceType()) { @@ -1554,7 +1554,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffectInfo const& spellEffectIn }(); } - Position pos = dest._position; + Position pos = dest._position.GetPosition(); MovePosition(pos, unitCaster, dist, angle); dest.Relocate(pos); @@ -1621,7 +1621,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffectInfo const& spellEffectIn if (dist < objSize) dist = objSize; - Position pos = dest._position; + Position pos = dest._position.GetPosition(); MovePosition(pos, m_caster, dist, angle); dest.Relocate(pos); @@ -1658,7 +1658,7 @@ void Spell::SelectImplicitTargetDestTargets(SpellEffectInfo const& spellEffectIn float angle = targetType.CalcDirectionAngle(); float dist = spellEffectInfo.CalcRadius(nullptr, targetIndex); - Position pos = dest._position; + Position pos = dest._position.GetPosition(); MovePosition(pos, target, dist, angle); dest.Relocate(pos); @@ -1696,7 +1696,7 @@ void Spell::SelectImplicitDestDestTargets(SpellEffectInfo const& spellEffectInfo case TARGET_DEST_DEST_TARGET_TOWARDS_CASTER: { float dist = spellEffectInfo.CalcRadius(m_caster, targetIndex); - Position pos = dest._position; + Position pos = dest._position.GetPosition(); float angle = pos.GetAbsoluteAngle(m_caster) - m_caster->GetOrientation(); MovePosition(pos, m_caster, dist, angle); @@ -1710,7 +1710,7 @@ void Spell::SelectImplicitDestDestTargets(SpellEffectInfo const& spellEffectInfo float angle = targetType.CalcDirectionAngle(); float dist = spellEffectInfo.CalcRadius(m_caster, targetIndex); - Position pos = dest._position; + Position pos = dest._position.GetPosition(); MovePosition(pos, m_caster, dist, angle); dest.Relocate(pos); diff --git a/src/server/game/Texts/ChatTextBuilder.cpp b/src/server/game/Texts/ChatTextBuilder.cpp index 440f89a30e7..e184ffcdb48 100644 --- a/src/server/game/Texts/ChatTextBuilder.cpp +++ b/src/server/game/Texts/ChatTextBuilder.cpp @@ -58,7 +58,7 @@ ChatPacketSender::ChatPacketSender(ChatMsg chatType, ::Language language, WorldO receiver ? receiver->GetGUID() : ObjectGuid::Empty, sender ? sender->GetGUID() : ObjectGuid::Empty, soundKitId, - receiver ? receiver->GetWorldLocation() : Position(0, 0, 0), + receiver ? receiver->GetPosition() : Position(), broadcastTextId ); } diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp index 29cac39c3dc..b407f34e614 100644 --- a/src/server/scripts/Events/midsummer.cpp +++ b/src/server/scripts/Events/midsummer.cpp @@ -224,7 +224,7 @@ class spell_midsummer_juggle_torch : public SpellScript if (!GetExplTargetDest()) return; - Position spellDest = *GetExplTargetDest(); + WorldLocation spellDest = *GetExplTargetDest(); float distance = GetCaster()->GetExactDist2d(spellDest.GetPositionX(), spellDest.GetPositionY()); uint32 torchSpellID = 0; @@ -234,7 +234,7 @@ class spell_midsummer_juggle_torch : public SpellScript { torchSpellID = SPELL_JUGGLE_TORCH_SELF; torchShadowSpellID = SPELL_JUGGLE_TORCH_SHADOW_SELF; - spellDest = GetCaster()->GetPosition(); + spellDest = GetCaster()->GetWorldLocation(); } else if (distance <= 10.0f) { diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 8b42706a5a0..ec50bba82d2 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -2772,7 +2772,7 @@ class spell_hor_evasion : public SpellScriptLoader void SetDest(SpellDestination& dest) { WorldObject* target = GetExplTargetWorldObject(); - Position pos(*target); + Position pos = target->GetPosition(); Position home = GetCaster()->ToCreature()->GetHomePosition(); // prevent evasion outside the room |