mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Core/Scripts: implement Drain Mana breaking some auras on hit
This commit is contained in:
4
sql/updates/world/3.3.5/2018_02_17_02_world_335.sql
Normal file
4
sql/updates/world/3.3.5/2018_02_17_02_world_335.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_pri_mana_burn','spell_gen_clear_fear_poly');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(5138, 'spell_gen_clear_fear_poly'),
|
||||
(8129, 'spell_gen_clear_fear_poly');
|
||||
@@ -922,6 +922,24 @@ enum Clone
|
||||
SPELL_NIGHTMARE_FIGMENT_MIRROR_IMAGE = 57528
|
||||
};
|
||||
|
||||
// 5138 - Drain Mana
|
||||
// 8129 - Mana Burn
|
||||
class spell_gen_clear_fear_poly : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gen_clear_fear_poly);
|
||||
|
||||
void HandleAfterHit()
|
||||
{
|
||||
if (Unit* unitTarget = GetHitUnit())
|
||||
unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_gen_clear_fear_poly::HandleAfterHit);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gen_clone : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
@@ -4380,6 +4398,7 @@ void AddSC_generic_spell_scripts()
|
||||
new spell_gen_burning_depths_necrolyte_image();
|
||||
new spell_gen_cannibalize();
|
||||
new spell_gen_chaos_blast();
|
||||
RegisterSpellScript(spell_gen_clear_fear_poly);
|
||||
new spell_gen_clone();
|
||||
new spell_gen_clone_weapon();
|
||||
new spell_gen_clone_weapon_aura();
|
||||
|
||||
@@ -628,34 +628,6 @@ class spell_pri_lightwell_renew : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
// 8129 - Mana Burn
|
||||
class spell_pri_mana_burn : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_pri_mana_burn() : SpellScriptLoader("spell_pri_mana_burn") { }
|
||||
|
||||
class spell_pri_mana_burn_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_pri_mana_burn_SpellScript);
|
||||
|
||||
void HandleAfterHit()
|
||||
{
|
||||
if (Unit* unitTarget = GetHitUnit())
|
||||
unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_pri_mana_burn_SpellScript::HandleAfterHit);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_pri_mana_burn_SpellScript;
|
||||
}
|
||||
};
|
||||
|
||||
// 28305 - Mana Leech (Passive) (Priest Pet Aura)
|
||||
class spell_pri_mana_leech : public SpellScriptLoader
|
||||
{
|
||||
@@ -1303,7 +1275,6 @@ void AddSC_priest_spell_scripts()
|
||||
new spell_pri_guardian_spirit();
|
||||
new spell_pri_leap_of_faith_effect_trigger();
|
||||
new spell_pri_lightwell_renew();
|
||||
new spell_pri_mana_burn();
|
||||
new spell_pri_mana_leech();
|
||||
new spell_pri_mind_sear();
|
||||
new spell_pri_pain_and_suffering_proc();
|
||||
|
||||
Reference in New Issue
Block a user