aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/World
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-06-07 11:22:13 +0300
committerGitHub <noreply@github.com>2020-06-07 10:22:13 +0200
commite3b232fe0e5c21a87d3fe71813e9d750259823f1 (patch)
tree58f7306a85e196080ec33a9aa97ba755af955618 /src/server/scripts/World
parent1181b636c0cec174367906808c999641ca7897fc (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
Diffstat (limited to 'src/server/scripts/World')
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp4
-rw-r--r--src/server/scripts/World/npcs_special.cpp18
2 files changed, 11 insertions, 11 deletions
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 93d23db7ca2..98396dfb923 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -383,9 +383,9 @@ class boss_lethon : public CreatureScript
}
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) override
+ void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override
{
- if (spell->Id == SPELL_DRAW_SPIRIT && target->GetTypeId() == TYPEID_PLAYER)
+ if (spellInfo->Id == SPELL_DRAW_SPIRIT && target->GetTypeId() == TYPEID_PLAYER)
{
Position targetPos = target->GetPosition();
me->SummonCreature(NPC_SPIRIT_SHADE, targetPos, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 50000);
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index c3704d1aed9..c746b862908 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -818,10 +818,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, SpellInfo const* spell) override
+ void SpellHit(WorldObject* caster, SpellInfo const* spellInfo) override
{
Player* player = caster->ToPlayer();
- if (!player || !me->IsAlive() || spell->Id != 20804)
+ if (!player || !me->IsAlive() || spellInfo->Id != 20804)
return;
if (player->GetQuestStatus(6624) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(6622) == QUEST_STATUS_INCOMPLETE)
@@ -1024,9 +1024,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, SpellInfo const* spell) override
+ void SpellHit(WorldObject* caster, SpellInfo const* spellInfo) override
{
- if (spell->Id == SPELL_LESSER_HEAL_R2 || spell->Id == SPELL_FORTITUDE_R1)
+ if (spellInfo->Id == SPELL_LESSER_HEAL_R2 || spellInfo->Id == SPELL_FORTITUDE_R1)
{
//not while in combat
if (me->IsInCombat())
@@ -1040,16 +1040,16 @@ public:
{
if (quest && player->GetQuestStatus(quest) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spellInfo->Id == SPELL_FORTITUDE_R1)
{
- Talk(SAY_THANKS, caster);
+ Talk(SAY_THANKS, player);
CanRun = true;
}
- else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spellInfo->Id == SPELL_LESSER_HEAL_R2)
{
- CasterGUID = caster->GetGUID();
+ CasterGUID = player->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- Talk(SAY_HEALED, caster);
+ Talk(SAY_HEALED, player);
IsHealed = true;
}
}