mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 09:17:18 +00:00
feat(Core/Spells): Move Spell pri lightwell to spell scripts (#11089)
This commit is contained in:
committed by
GitHub
parent
a4e68e681e
commit
7410f1a3cb
@@ -0,0 +1,5 @@
|
||||
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1647762029984921289');
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_pri_lightwell');
|
||||
INSERT INTO `spell_script_names` VALUES
|
||||
(60123,'spell_pri_lightwell');
|
||||
@@ -4114,48 +4114,6 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
|
||||
else
|
||||
unitTarget->CastSpell(unitTarget, 59314, true);
|
||||
|
||||
return;
|
||||
}
|
||||
case 60123: // Lightwell
|
||||
{
|
||||
if (m_caster->GetTypeId() != TYPEID_UNIT || !m_caster->ToCreature()->IsSummon())
|
||||
return;
|
||||
|
||||
uint32 spell_heal;
|
||||
|
||||
switch (m_caster->GetEntry())
|
||||
{
|
||||
case 31897:
|
||||
spell_heal = 7001;
|
||||
break;
|
||||
case 31896:
|
||||
spell_heal = 27873;
|
||||
break;
|
||||
case 31895:
|
||||
spell_heal = 27874;
|
||||
break;
|
||||
case 31894:
|
||||
spell_heal = 28276;
|
||||
break;
|
||||
case 31893:
|
||||
spell_heal = 48084;
|
||||
break;
|
||||
case 31883:
|
||||
spell_heal = 48085;
|
||||
break;
|
||||
default:
|
||||
LOG_ERROR("spells.effect", "Unknown Lightwell spell caster {}", m_caster->GetEntry());
|
||||
return;
|
||||
}
|
||||
|
||||
// proc a spellcast
|
||||
if (Aura* chargesAura = m_caster->GetAura(59907))
|
||||
{
|
||||
m_caster->CastSpell(unitTarget, spell_heal, true, nullptr, nullptr, m_caster->ToTempSummon()->GetSummonerGUID());
|
||||
if (chargesAura->ModCharges(-1))
|
||||
m_caster->ToTempSummon()->UnSummon();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
// Stoneclaw Totem
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
|
||||
enum PriestSpells
|
||||
{
|
||||
@@ -37,6 +38,7 @@ enum PriestSpells
|
||||
SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL = 56161,
|
||||
SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL = 48153,
|
||||
SPELL_PRIEST_ITEM_EFFICIENCY = 37595,
|
||||
SPELL_PRIEST_LIGHTWELL_CHARGES = 59907,
|
||||
SPELL_PRIEST_MANA_LEECH_PROC = 34650,
|
||||
SPELL_PRIEST_PENANCE_R1 = 47540,
|
||||
SPELL_PRIEST_PENANCE_R1_DAMAGE = 47758,
|
||||
@@ -61,6 +63,16 @@ enum PriestSpellIcons
|
||||
PRIEST_ICON_ID_PAIN_AND_SUFFERING = 2874,
|
||||
};
|
||||
|
||||
enum Mics
|
||||
{
|
||||
PRIEST_LIGHTWELL_NPC_1 = 31897,
|
||||
PRIEST_LIGHTWELL_NPC_2 = 31896,
|
||||
PRIEST_LIGHTWELL_NPC_3 = 31895,
|
||||
PRIEST_LIGHTWELL_NPC_4 = 31894,
|
||||
PRIEST_LIGHTWELL_NPC_5 = 31893,
|
||||
PRIEST_LIGHTWELL_NPC_6 = 31883
|
||||
};
|
||||
|
||||
class spell_pri_shadowfiend_scaling : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pri_shadowfiend_scaling);
|
||||
@@ -359,6 +371,48 @@ class spell_pri_item_greater_heal_refund : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 60123 - Lightwell
|
||||
class spell_pri_lightwell : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_pri_lightwell);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /* effIndex */)
|
||||
{
|
||||
Creature* caster = GetCaster()->ToCreature();
|
||||
if (!caster || !caster->IsSummon())
|
||||
return;
|
||||
|
||||
uint32 lightwellRenew = 0;
|
||||
switch (caster->GetEntry())
|
||||
{
|
||||
case PRIEST_LIGHTWELL_NPC_1: lightwellRenew = 7001; break;
|
||||
case PRIEST_LIGHTWELL_NPC_2: lightwellRenew = 27873; break;
|
||||
case PRIEST_LIGHTWELL_NPC_3: lightwellRenew = 27874; break;
|
||||
case PRIEST_LIGHTWELL_NPC_4: lightwellRenew = 28276; break;
|
||||
case PRIEST_LIGHTWELL_NPC_5: lightwellRenew = 48084; break;
|
||||
case PRIEST_LIGHTWELL_NPC_6: lightwellRenew = 48085; break;
|
||||
}
|
||||
|
||||
// proc a spellcast
|
||||
if (Aura* chargesAura = caster->GetAura(SPELL_PRIEST_LIGHTWELL_CHARGES))
|
||||
{
|
||||
caster->CastSpell(GetHitUnit(), lightwellRenew, caster->ToTempSummon()->GetSummonerGUID());
|
||||
if (chargesAura->ModCharges(-1))
|
||||
caster->ToTempSummon()->UnSummon();
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_lightwell::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// -7001 - Lightwell Renew
|
||||
class spell_pri_lightwell_renew : public AuraScript
|
||||
{
|
||||
@@ -854,6 +908,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_guardian_spirit);
|
||||
RegisterSpellScript(spell_pri_hymn_of_hope);
|
||||
RegisterSpellScript(spell_pri_item_greater_heal_refund);
|
||||
RegisterSpellScript(spell_pri_lightwell);
|
||||
RegisterSpellScript(spell_pri_lightwell_renew);
|
||||
RegisterSpellScript(spell_pri_mana_burn);
|
||||
RegisterSpellScript(spell_pri_mana_leech);
|
||||
|
||||
Reference in New Issue
Block a user