aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellMgr.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 0d7f7ddf240..a2b42cebc22 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -1144,8 +1144,8 @@ void SpellMgr::LoadSpellTargetPositions()
mSpellTargetPositions.clear(); // need for reload case
- // 0 1 2 3 4 5
- QueryResult result = WorldDatabase.Query("SELECT ID, EffectIndex, MapID, PositionX, PositionY, PositionZ FROM spell_target_position");
+ // 0 1 2 3 4 5 6
+ QueryResult result = WorldDatabase.Query("SELECT ID, EffectIndex, MapID, PositionX, PositionY, PositionZ, Orientation FROM spell_target_position");
if (!result)
{
TC_LOG_INFO("server.loading", ">> Loaded 0 spell target coordinates. DB table `spell_target_position` is empty.");
@@ -1193,11 +1193,16 @@ void SpellMgr::LoadSpellTargetPositions()
continue;
}
- // target facing is in degrees for 6484 & 9268... (blizz sucks)
- if (spellInfo->GetEffect(effIndex).PositionFacing > 2 * M_PI)
- st.target_Orientation = spellInfo->GetEffect(effIndex).PositionFacing * float(M_PI) / 180;
+ if (!fields[6].IsNull())
+ st.target_Orientation = fields[6].GetFloat();
else
- st.target_Orientation = spellInfo->GetEffect(effIndex).PositionFacing;
+ {
+ // target facing is in degrees for 6484 & 9268... (blizz sucks)
+ if (spellInfo->GetEffect(effIndex).PositionFacing > 2 * float(M_PI))
+ st.target_Orientation = spellInfo->GetEffect(effIndex).PositionFacing * float(M_PI) / 180;
+ else
+ st.target_Orientation = spellInfo->GetEffect(effIndex).PositionFacing;
+ }
auto hasTarget = [&](Targets target)
{