From 3171cd3fa9dbcec43f5d70b74ab2f54a2aa44173 Mon Sep 17 00:00:00 2001 From: ForesterDev <11771800+ForesterDev@users.noreply.github.com> Date: Sun, 7 Jun 2020 11:22:13 +0300 Subject: Core/AI: refactor SpellHit and SpellHitTarget. (#24691) * Core/AI: refactor SpellHit and SpellHitTarget. - now caster/target is WorldObject instead of Unit - remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget) - rename parameters in scripts according parent methods * Restore logic in Algalon script * Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2 * Fix build after merge (cherry picked from commit e3b232fe0e5c21a87d3fe71813e9d750259823f1) --- .../MagistersTerrace/boss_felblood_kaelthas.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/server/scripts/EasternKingdoms/MagistersTerrace') diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 2104ee537d9..d7747fa4676 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -217,13 +217,17 @@ struct boss_felblood_kaelthas : public BossAI } } - void SpellHitTarget(Unit* target, SpellInfo const* spell) override + void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override { - switch (spell->Id) + Unit* unitTarget = target->ToUnit(); + if (!unitTarget) + return; + + switch (spellInfo->Id) { case SPELL_GRAVITY_LAPSE_INITIAL: { - DoCast(target, gravityLapseTeleportSpells[_gravityLapseTargetCount], true); + DoCast(unitTarget, gravityLapseTeleportSpells[_gravityLapseTargetCount], true); uint32 gravityLapseDamageSpell = SPELL_GRAVITY_LAPSE_DAMAGE; target->m_Events.AddEventAtOffset([target, gravityLapseDamageSpell]() { @@ -235,8 +239,8 @@ struct boss_felblood_kaelthas : public BossAI break; } case SPELL_CLEAR_FLIGHT: - target->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY); - target->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DAMAGE); + unitTarget->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY); + unitTarget->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DAMAGE); break; default: break; -- cgit v1.2.3