From 5a5f09191e979aca0bc1444241994592bd293116 Mon Sep 17 00:00:00 2001 From: killerwife Date: Sun, 24 Sep 2023 09:45:16 +0200 Subject: [PATCH] Unit/Spell: Fix AnyFriendlyUnitInObjectRangeCheck missing assistability condition --- src/game/Grids/GridNotifiers.h | 2 +- src/game/Spells/SpellEffects.cpp | 27 +-------------------------- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/src/game/Grids/GridNotifiers.h b/src/game/Grids/GridNotifiers.h index 09bf74f8ff..68e5c4d1c9 100644 --- a/src/game/Grids/GridNotifiers.h +++ b/src/game/Grids/GridNotifiers.h @@ -1015,7 +1015,7 @@ namespace MaNGOS WorldObject const& GetFocusObject() const { return *i_obj; } bool operator()(Unit* u) { - return u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range, true, i_ignorePhase); + return u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range, true, i_ignorePhase) && i_obj->CanAssistSpell(u); } private: WorldObject const* i_obj; diff --git a/src/game/Spells/SpellEffects.cpp b/src/game/Spells/SpellEffects.cpp index 9cfcf71fc7..cd925313d0 100644 --- a/src/game/Spells/SpellEffects.cpp +++ b/src/game/Spells/SpellEffects.cpp @@ -7415,26 +7415,14 @@ void Spell::EffectActivateObject(SpellEffectIndex effIdx) switch (m_spellInfo->Id) { case 17731: // Onyxia - Eruption - case 24731: - case 40964: // Fel Crystalforge: Create 1 Flask - case 40965: // Fel Crystalforge: Create 5 Flasks - case 40968: // Bash'ir Crystalforge: Create 1 Flask - case 40970: // Bash'ir Crystalforge: Create 5 Flasks - case 42868: - case 45222: // Zul'Aman Object Visual - This spell is a custom GO cast spell and similar to Ritual of Souls where only channel start should be sent gameObjTarget->SendGameObjectCustomAnim(gameObjTarget->GetObjectGuid()); break; - case 36546: // no delay meant to happen - activate trap immediately - case 38054: - case 39844: - gameObjTarget->Use(m_caster, m_spellInfo); - break; case 46638: // Brutallus SWP - closes door gameObjTarget->ResetDoorOrButton(); break; default: if (m_caster) - gameObjTarget->Use(m_caster); + gameObjTarget->Use(m_caster, m_spellInfo); break; } break; @@ -7503,19 +7491,6 @@ void Spell::EffectActivateObject(SpellEffectIndex effIdx) gameObjTarget->SetLootState(GO_JUST_DEACTIVATED); break; } - case 40176: // Simon Game pre-game Begin, blue - case 40177: // Simon Game pre-game Begin, green - case 40178: // Simon Game pre-game Begin, red - case 40179: // Simon Game pre-game Begin, yellow - case 40283: // Simon Game END, blue - case 40284: // Simon Game END, green - case 40285: // Simon Game END, red - case 40286: // Simon Game END, yellow - case 40494: // Simon Game, switched ON - case 40495: // Simon Game, switched OFF - case 40512: // Simon Game, switch...disable Off switch - gameObjTarget->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NO_INTERACT); - break; case 40632: // Summon Gezzarak the Huntress case 40640: // Summon Karrog case 40642: // Summon Darkscreecher Akkarai