aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp7
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp7
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp7
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp7
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp7
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp9
8 files changed, 43 insertions, 21 deletions
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index 13ba10d3542..0aea30cbead 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -263,8 +263,11 @@ class spell_garfrost_permafrost : public SpellScriptLoader
}
private:
- void PreventHitByLoS()
+ void PreventHitByLoS(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (Unit* target = GetHitUnit())
{
Unit* caster = GetCaster();
@@ -305,7 +308,7 @@ class spell_garfrost_permafrost : public SpellScriptLoader
void Register() override
{
- BeforeHit += SpellHitFn(spell_garfrost_permafrost_SpellScript::PreventHitByLoS);
+ BeforeHit += BeforeSpellHitFn(spell_garfrost_permafrost_SpellScript::PreventHitByLoS);
AfterHit += SpellHitFn(spell_garfrost_permafrost_SpellScript::RestoreImmunity);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 4ecffdc8ce7..1e3f97380d9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -1555,15 +1555,18 @@ class spell_valanar_kinetic_bomb_knockback : public SpellScriptLoader
{
PrepareSpellScript(spell_valanar_kinetic_bomb_knockback_SpellScript);
- void KnockIntoAir()
+ void KnockIntoAir(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (Creature* target = GetHitCreature())
target->AI()->DoAction(ACTION_KINETIC_BOMB_JUMP);
}
void Register() override
{
- BeforeHit += SpellHitFn(spell_valanar_kinetic_bomb_knockback_SpellScript::KnockIntoAir);
+ BeforeHit += BeforeSpellHitFn(spell_valanar_kinetic_bomb_knockback_SpellScript::KnockIntoAir);
}
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index a0ce6700d8d..ec624b7274a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -551,9 +551,9 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void OnCast()
+ void OnCast(SpellMissInfo missInfo)
{
- if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
+ if (GetCaster()->GetTypeId() != TYPEID_PLAYER || missInfo != SPELL_MISS_NONE)
return;
GetCaster()->RemoveAura(SPELL_FRENZIED_BLOODTHIRST, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
@@ -585,7 +585,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_blood_queen_vampiric_bite_SpellScript::CheckTarget);
- BeforeHit += SpellHitFn(spell_blood_queen_vampiric_bite_SpellScript::OnCast);
+ BeforeHit += BeforeSpellHitFn(spell_blood_queen_vampiric_bite_SpellScript::OnCast);
OnEffectHitTarget += SpellEffectFn(spell_blood_queen_vampiric_bite_SpellScript::HandlePresence, EFFECT_1, SPELL_EFFECT_TRIGGER_SPELL);
}
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index bf0d24c9e5e..e6314d7987d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -2133,14 +2133,17 @@ class spell_igb_below_zero : public SpellScriptLoader
{
PrepareSpellScript(spell_igb_below_zero_SpellScript);
- void RemovePassengers()
+ void RemovePassengers(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO, TRIGGERED_FULL_MASK);
}
void Register() override
{
- BeforeHit += SpellHitFn(spell_igb_below_zero_SpellScript::RemovePassengers);
+ BeforeHit += BeforeSpellHitFn(spell_igb_below_zero_SpellScript::RemovePassengers);
}
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index c6d199f94a8..039b2f9e96a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -2102,8 +2102,11 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
targets.resize(1);
}
- void CheckAura()
+ void CheckAura(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (GetHitUnit()->HasAura(GetSpellInfo()->Id))
_hadAura = true;
}
@@ -2116,7 +2119,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
void Register() override
{
- BeforeHit += SpellHitFn(spell_the_lich_king_necrotic_plague_SpellScript::CheckAura);
+ BeforeHit += BeforeSpellHitFn(spell_the_lich_king_necrotic_plague_SpellScript::CheckAura);
OnHit += SpellHitFn(spell_the_lich_king_necrotic_plague_SpellScript::AddMissingStack);
}
@@ -2926,8 +2929,11 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
}
}
- void RemoveAura()
+ void RemoveAura(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (Unit* target = GetHitUnit())
target->RemoveAurasDueToSpell(target->GetMap()->IsHeroic() ? SPELL_HARVEST_SOULS_TELEPORT : SPELL_HARVEST_SOUL_TELEPORT);
}
@@ -2935,7 +2941,7 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
void Register() override
{
OnEffectHit += SpellEffectFn(spell_the_lich_king_restore_soul_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
- BeforeHit += SpellHitFn(spell_the_lich_king_restore_soul_SpellScript::RemoveAura);
+ BeforeHit += BeforeSpellHitFn(spell_the_lich_king_restore_soul_SpellScript::RemoveAura);
}
InstanceScript* _instance;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index 937ccf4d5f3..21ffde07683 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1517,8 +1517,11 @@ class spell_auto_repair : public SpellScriptLoader
{
PrepareSpellScript(spell_auto_repair_SpellScript);
- void CheckCooldownForTarget()
+ void CheckCooldownForTarget(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (GetHitUnit()->HasAuraEffect(SPELL_AUTO_REPAIR, EFFECT_2)) // Check presence of dummy aura indicating cooldown
{
PreventHitEffect(EFFECT_0);
@@ -1559,7 +1562,7 @@ class spell_auto_repair : public SpellScriptLoader
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_auto_repair_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- BeforeHit += SpellHitFn(spell_auto_repair_SpellScript::CheckCooldownForTarget);
+ BeforeHit += BeforeSpellHitFn(spell_auto_repair_SpellScript::CheckCooldownForTarget);
}
};
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index ff0be4595cf..01721079648 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -281,8 +281,11 @@ class spell_rog_deadly_poison : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER && GetCastItem();
}
- void HandleBeforeHit()
+ void HandleBeforeHit(SpellMissInfo missInfo)
{
+ if (missInfo != SPELL_MISS_NONE)
+ return;
+
if (Unit* target = GetHitUnit())
// Deadly Poison
if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, flag128(0x10000, 0x80000, 0), GetCaster()->GetGUID()))
@@ -345,7 +348,7 @@ class spell_rog_deadly_poison : public SpellScriptLoader
void Register() override
{
- BeforeHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleBeforeHit);
+ BeforeHit += BeforeSpellHitFn(spell_rog_deadly_poison_SpellScript::HandleBeforeHit);
AfterHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleAfterHit);
}
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp
index 6c6eec993ab..937c68e43ec 100644
--- a/src/server/scripts/Spells/spell_warlock.cpp
+++ b/src/server/scripts/Spells/spell_warlock.cpp
@@ -148,10 +148,11 @@ class spell_warl_banish : public SpellScriptLoader
}
private:
- void HandleBanish()
+ void HandleBanish(SpellMissInfo missInfo)
{
- /// Casting Banish on a banished target will cancel the effect
- /// Check if the target already has Banish, if so, do nothing.
+ if (missInfo != SPELL_MISS_IMMUNE)
+ return;
+
if (Unit* target = GetHitUnit())
{
if (target->GetAuraEffect(SPELL_AURA_SCHOOL_IMMUNITY, SPELLFAMILY_WARLOCK, flag128(0, 0x08000000, 0)))
@@ -173,7 +174,7 @@ class spell_warl_banish : public SpellScriptLoader
void Register() override
{
- BeforeHit += SpellHitFn(spell_warl_banish_SpellScript::HandleBanish);
+ BeforeHit += BeforeSpellHitFn(spell_warl_banish_SpellScript::HandleBanish);
AfterHit += SpellHitFn(spell_warl_banish_SpellScript::RemoveAura);
}