aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Entities/Object/G3DPosition.hpp6
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp4
-rw-r--r--src/server/game/Spells/Spell.cpp12
-rw-r--r--src/server/game/Texts/ChatTextBuilder.cpp2
-rw-r--r--src/server/scripts/Events/midsummer.cpp4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp2
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 c1f1e071f9a..7389695ce38 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2257,7 +2257,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 ba85aa17866..529069364f1 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -559,9 +559,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 1172ef132b6..055d819a1bb 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