From f6ede1a503c6e3d9c0cd3a0269db73ddacacfe54 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sat, 9 Jul 2022 16:12:16 +0200 Subject: [PATCH] fix(DB/ZulGurub): Hoodoo Piles should not melee atack their targets. (#12269) Will of Hakkar is casted on pile looter. Fixes #12186 --- .../updates/pending_db_world/rev_1656749058349666900.sql | 6 ++++++ src/server/game/Entities/GameObject/GameObject.cpp | 7 +++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1656749058349666900.sql diff --git a/data/sql/updates/pending_db_world/rev_1656749058349666900.sql b/data/sql/updates/pending_db_world/rev_1656749058349666900.sql new file mode 100644 index 000000000..c74bb0d56 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1656749058349666900.sql @@ -0,0 +1,6 @@ +-- +UPDATE `creature_template` SET `flags_extra`=130 WHERE `entry`=15047; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=15047 AND `source_type`=0; +INSERT INTO `smart_scripts` VALUES +(15047,0,0,0,1,0,100,1,500,500,0,0,0,11,24178,0,0,0,0,0,23,0,0,0,0,0,0,0,0,'Gurubashi - OOC - Cast Will of Hakkar'); diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 58900172e..782c53a78 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2058,17 +2058,16 @@ void GameObject::CastSpell(Unit* target, uint32 spellId) bool self = false; for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) { - if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_UNIT_CASTER) + if (spellInfo->Effects[i].TargetA.GetReferenceType() == TARGET_REFERENCE_TYPE_CASTER && !spellInfo->Effects[i].TargetB.GetTarget()) { self = true; break; } } - if (self) + if (self && target && target->GetGUID() != GetGUID()) { - if (target) - target->CastSpell(target, spellInfo, true); + target->CastSpell(target, spellInfo, true); return; }