mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Scripts: Implemented Zort's Protective Elixir (#28372)
* Core/Scripts: Implemented Zort's Protective Elixir * Rename XXXX_XX_XX_XX_world.sql to 2022_12_23_00_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
This commit is contained in:
3
sql/updates/world/3.3.5/2022_12_23_00_world.sql
Normal file
3
sql/updates/world/3.3.5/2022_12_23_00_world.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
--
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_dragonblight_corrosive_spit';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (47447, 'spell_dragonblight_corrosive_spit');
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
@@ -941,6 +942,38 @@ class spell_dragonblight_fill_blood_unholy_frost_gem : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 47447 - Corrosive Spit
|
||||
class spell_dragonblight_corrosive_spit : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_dragonblight_corrosive_spit);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()) });
|
||||
}
|
||||
|
||||
void AfterApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (GetTarget()->HasAura(aurEff->GetSpellInfo()->GetEffect(EFFECT_0).CalcValue()))
|
||||
GetAura()->Remove();
|
||||
}
|
||||
|
||||
void PeriodicTick(AuraEffect const* aurEff)
|
||||
{
|
||||
if (GetTarget()->HasAura(aurEff->GetSpellInfo()->GetEffect(EFFECT_0).CalcValue()))
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetAura()->Remove();
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_dragonblight_corrosive_spit::AfterApply, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dragonblight_corrosive_spit::PeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_dragonblight()
|
||||
{
|
||||
RegisterCreatureAI(npc_commander_eligor_dawnbringer);
|
||||
@@ -958,4 +991,5 @@ void AddSC_dragonblight()
|
||||
RegisterSpellScript(spell_dragonblight_bombard_the_ballistae_fx_master);
|
||||
RegisterSpellScript(spell_dragonblight_surge_needle_teleporter);
|
||||
RegisterSpellScript(spell_dragonblight_fill_blood_unholy_frost_gem);
|
||||
RegisterSpellScript(spell_dragonblight_corrosive_spit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user