mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
Scripts/Spells: Implemented Mind Blast procs (#29641)
* Schism * Dark Indulgence
This commit is contained in:
4
sql/updates/world/master/2024_02_05_02_world.sql
Normal file
4
sql/updates/world/master/2024_02_05_02_world.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_pri_dark_indulgence', 'spell_pri_schism');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(8092, 'spell_pri_dark_indulgence'),
|
||||
(8092, 'spell_pri_schism');
|
||||
@@ -60,6 +60,7 @@ enum PriestSpells
|
||||
SPELL_PRIEST_BODY_AND_SOUL = 64129,
|
||||
SPELL_PRIEST_BODY_AND_SOUL_SPEED = 65081,
|
||||
SPELL_PRIEST_CIRCLE_OF_HEALING = 204883,
|
||||
SPELL_PRIEST_DARK_INDULGENCE = 372972,
|
||||
SPELL_PRIEST_DARK_REPRIMAND = 400169,
|
||||
SPELL_PRIEST_DARK_REPRIMAND_CHANNEL_DAMAGE = 373129,
|
||||
SPELL_PRIEST_DARK_REPRIMAND_CHANNEL_HEALING = 400171,
|
||||
@@ -152,6 +153,8 @@ enum PriestSpells
|
||||
SPELL_PRIEST_RENEWED_HOPE_EFFECT = 197470,
|
||||
SPELL_PRIEST_REVEL_IN_PURITY = 373003,
|
||||
SPELL_PRIEST_SAY_YOUR_PRAYERS = 391186,
|
||||
SPELL_PRIEST_SCHISM = 424509,
|
||||
SPELL_PRIEST_SCHISM_AURA = 214621,
|
||||
SPELL_PRIEST_SEARING_LIGHT = 196811,
|
||||
SPELL_PRIEST_SHADOW_MEND_DAMAGE = 186439,
|
||||
SPELL_PRIEST_SHADOW_WORD_DEATH = 32379,
|
||||
@@ -677,6 +680,30 @@ class spell_pri_circle_of_healing : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 8092 - Mind Blast
|
||||
class spell_pri_dark_indulgence : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellEffect({ { SPELL_PRIEST_DARK_INDULGENCE, EFFECT_0 } });
|
||||
}
|
||||
|
||||
void HandleEffectHit(SpellEffIndex /*effIndex*/) const
|
||||
{
|
||||
AuraEffect const* aurEff = GetCaster()->GetAuraEffect(SPELL_PRIEST_DARK_INDULGENCE, EFFECT_0);
|
||||
if (!aurEff)
|
||||
return;
|
||||
|
||||
if (roll_chance_i(aurEff->GetAmount()))
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_PRIEST_POWER_OF_THE_DARK_SIDE, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_pri_dark_indulgence::HandleEffectHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
namespace DivineImageHelpers
|
||||
{
|
||||
Unit* GetSummon(Unit const* owner)
|
||||
@@ -2441,6 +2468,30 @@ private:
|
||||
ObjectGuid _raptureTarget;
|
||||
};
|
||||
|
||||
// 8092 - Mind Blast
|
||||
class spell_pri_schism : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo
|
||||
({
|
||||
SPELL_PRIEST_SCHISM,
|
||||
SPELL_PRIEST_SCHISM_AURA
|
||||
});
|
||||
}
|
||||
|
||||
void HandleEffectHitTarget(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (GetCaster()->HasAura(SPELL_PRIEST_SCHISM))
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_PRIEST_SCHISM_AURA, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_schism::HandleEffectHitTarget, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 280391 - Sins of the Many
|
||||
class spell_pri_sins_of_the_many : public AuraScript
|
||||
{
|
||||
@@ -2871,6 +2922,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_benediction);
|
||||
RegisterSpellScript(spell_pri_blaze_of_light);
|
||||
RegisterSpellScript(spell_pri_circle_of_healing);
|
||||
RegisterSpellScript(spell_pri_dark_indulgence);
|
||||
RegisterSpellScript(spell_pri_divine_image);
|
||||
RegisterSpellScript(spell_pri_divine_image_spell_triggered);
|
||||
RegisterSpellScript(spell_pri_divine_image_stack_timer);
|
||||
@@ -2917,6 +2969,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_purge_the_wicked);
|
||||
RegisterSpellScript(spell_pri_purge_the_wicked_dummy);
|
||||
RegisterSpellScript(spell_pri_rapture);
|
||||
RegisterSpellScript(spell_pri_schism);
|
||||
RegisterSpellScript(spell_pri_sins_of_the_many);
|
||||
RegisterSpellScript(spell_pri_spirit_of_redemption);
|
||||
RegisterSpellScript(spell_pri_shadow_covenant);
|
||||
|
||||
Reference in New Issue
Block a user