aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms/MagistersTerrace
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-06-07 11:22:13 +0300
committerShauren <shauren.trinity@gmail.com>2022-01-06 20:46:25 +0100
commit3171cd3fa9dbcec43f5d70b74ab2f54a2aa44173 (patch)
tree838c54078c04b1fdae4ec1aac6fdc70ebdae45b2 /src/server/scripts/EasternKingdoms/MagistersTerrace
parentf0242d4ec7857a18145dd0a9965fcb8526e981c8 (diff)
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)
Diffstat (limited to 'src/server/scripts/EasternKingdoms/MagistersTerrace')
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp14
1 files changed, 9 insertions, 5 deletions
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;