From 82b605645b96722b92b8200ed90503cb87bf7aa7 Mon Sep 17 00:00:00 2001 From: ModoX Date: Mon, 8 Jan 2024 21:19:44 +0100 Subject: Core/Spells: Added option to override orientation for target types using spell_target_position table (#29551) (cherry picked from commit e8849ca5a14719e7d395db7907bac26705f25dbf) --- src/server/game/Spells/SpellMgr.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/server') 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) { -- cgit v1.2.3