mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-09 08:17:56 +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
|
else
|
||||||
unitTarget->CastSpell(unitTarget, 59314, true);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
// Stoneclaw Totem
|
// Stoneclaw Totem
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#include "SpellAuraEffects.h"
|
#include "SpellAuraEffects.h"
|
||||||
#include "SpellMgr.h"
|
#include "SpellMgr.h"
|
||||||
#include "SpellScript.h"
|
#include "SpellScript.h"
|
||||||
|
#include "TemporarySummon.h"
|
||||||
|
|
||||||
enum PriestSpells
|
enum PriestSpells
|
||||||
{
|
{
|
||||||
@@ -37,6 +38,7 @@ enum PriestSpells
|
|||||||
SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL = 56161,
|
SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL = 56161,
|
||||||
SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL = 48153,
|
SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL = 48153,
|
||||||
SPELL_PRIEST_ITEM_EFFICIENCY = 37595,
|
SPELL_PRIEST_ITEM_EFFICIENCY = 37595,
|
||||||
|
SPELL_PRIEST_LIGHTWELL_CHARGES = 59907,
|
||||||
SPELL_PRIEST_MANA_LEECH_PROC = 34650,
|
SPELL_PRIEST_MANA_LEECH_PROC = 34650,
|
||||||
SPELL_PRIEST_PENANCE_R1 = 47540,
|
SPELL_PRIEST_PENANCE_R1 = 47540,
|
||||||
SPELL_PRIEST_PENANCE_R1_DAMAGE = 47758,
|
SPELL_PRIEST_PENANCE_R1_DAMAGE = 47758,
|
||||||
@@ -61,6 +63,16 @@ enum PriestSpellIcons
|
|||||||
PRIEST_ICON_ID_PAIN_AND_SUFFERING = 2874,
|
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
|
class spell_pri_shadowfiend_scaling : public AuraScript
|
||||||
{
|
{
|
||||||
PrepareAuraScript(spell_pri_shadowfiend_scaling);
|
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
|
// -7001 - Lightwell Renew
|
||||||
class spell_pri_lightwell_renew : public AuraScript
|
class spell_pri_lightwell_renew : public AuraScript
|
||||||
{
|
{
|
||||||
@@ -854,6 +908,7 @@ void AddSC_priest_spell_scripts()
|
|||||||
RegisterSpellScript(spell_pri_guardian_spirit);
|
RegisterSpellScript(spell_pri_guardian_spirit);
|
||||||
RegisterSpellScript(spell_pri_hymn_of_hope);
|
RegisterSpellScript(spell_pri_hymn_of_hope);
|
||||||
RegisterSpellScript(spell_pri_item_greater_heal_refund);
|
RegisterSpellScript(spell_pri_item_greater_heal_refund);
|
||||||
|
RegisterSpellScript(spell_pri_lightwell);
|
||||||
RegisterSpellScript(spell_pri_lightwell_renew);
|
RegisterSpellScript(spell_pri_lightwell_renew);
|
||||||
RegisterSpellScript(spell_pri_mana_burn);
|
RegisterSpellScript(spell_pri_mana_burn);
|
||||||
RegisterSpellScript(spell_pri_mana_leech);
|
RegisterSpellScript(spell_pri_mana_leech);
|
||||||
|
|||||||
Reference in New Issue
Block a user