mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-02-05 08:28:57 +01:00
Core/Spells: corrected some spelling mistakes in Chakra spellscript
* fixed Holy Word: Sanctuary * Holy Word: Chastise will now only get overriden by Chakras if the player has learned Revelations
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_pri_charkra',
|
||||
'spell_pri_charkra_sanctuary',
|
||||
'spell_pri_chakra_serenity');
|
||||
('spell_pri_chakra',
|
||||
'spell_pri_chakra_sanctuary',
|
||||
'spell_pri_chakra_serenity_script',
|
||||
'spell_pri_holy_word_sanctuary');
|
||||
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(14751, 'spell_pri_charkra'),
|
||||
(81206, 'spell_pri_charkra_sanctuary'),
|
||||
(81585, 'spell_pri_chakra_serenity');
|
||||
(14751, 'spell_pri_chakra'),
|
||||
(81206, 'spell_pri_chakra_sanctuary'),
|
||||
(81585, 'spell_pri_chakra_serenity_script'),
|
||||
(88685, 'spell_pri_holy_word_sanctuary');
|
||||
|
||||
SET @FAMILYMASK0 := 0x00000400 | 0x00000800 | 0x00001000 | 0x00000200 | 0x00000080;
|
||||
SET @FAMILYMASK1 := 0x00000004 | 0x00000020;
|
||||
SET @FAMILYMASK2 := 0x00010000 | 0x00000000;
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId`= 14751;
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (14751, 88627);
|
||||
INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `Cooldown`, `Charges`, `Chance`) VALUES
|
||||
(14751, 6, @FAMILYMASK0, @FAMILYMASK1, @FAMILYMASK2, 0, 2, 1, 0, 0, 0, 1, 100);
|
||||
(14751, 6, @FAMILYMASK0, @FAMILYMASK1, @FAMILYMASK2, 0, 2, 1, 0, 0, 0, 1, 100),
|
||||
(88627, 0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 16, 0, 0, 0);
|
||||
|
||||
@@ -51,6 +51,8 @@ enum PriestSpells
|
||||
SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL = 56161,
|
||||
SPELL_PRIEST_GLYPH_OF_SHADOW = 107906,
|
||||
SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL = 48153,
|
||||
SPELL_PRIEST_HOLY_WORD_CHASTISE = 88625,
|
||||
SPELL_PRIEST_HOLY_WORD_SANCTUARY = 88686,
|
||||
SPELL_PRIEST_ITEM_EFFICIENCY = 37595,
|
||||
SPELL_PRIEST_LEAP_OF_FAITH = 73325,
|
||||
SPELL_PRIEST_LEAP_OF_FAITH_EFFECT = 92832,
|
||||
@@ -63,6 +65,7 @@ enum PriestSpells
|
||||
SPELL_PRIEST_REFLECTIVE_SHIELD_R1 = 33201,
|
||||
SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED = 33619,
|
||||
SPELL_PRIEST_RENEW = 139,
|
||||
SPELL_PRIEST_REVELATIONS = 88627,
|
||||
SPELL_PRIEST_SHADOW_ORB_MARKER = 93683,
|
||||
SPELL_PRIEST_SHADOW_ORB_POWER = 77486,
|
||||
SPELL_PRIEST_SHADOWFORM_VISUAL_WITHOUT_GLYPH = 107903,
|
||||
@@ -1340,9 +1343,9 @@ class spell_pri_shadow_orb : public AuraScript
|
||||
};
|
||||
|
||||
// 14751 - Chakra
|
||||
class spell_pri_charkra : public AuraScript
|
||||
class spell_pri_chakra : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pri_charkra);
|
||||
PrepareAuraScript(spell_pri_chakra);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
@@ -1351,7 +1354,9 @@ class spell_pri_charkra : public AuraScript
|
||||
SPELL_PRIEST_CHAKRA_SERENITY,
|
||||
SPELL_PRIEST_CHAKRA_SANCTUARY,
|
||||
SPELL_PRIEST_CHAKRA_SANCTUARY_LINKED,
|
||||
SPELL_PRIEST_CHAKRA_CHASTISE
|
||||
SPELL_PRIEST_CHAKRA_CHASTISE,
|
||||
SPELL_PRIEST_REVELATIONS,
|
||||
SPELL_PRIEST_HOLY_WORD_CHASTISE
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1376,12 +1381,20 @@ class spell_pri_charkra : public AuraScript
|
||||
// Chakra: Serenity
|
||||
if (spell->SpellFamilyFlags.HasFlag(0x00000400) || spell->SpellFamilyFlags.HasFlag(0x00001000)
|
||||
|| spell->SpellFamilyFlags.HasFlag(0x00000800) || spell->SpellFamilyFlags.HasFlag(0, 0x00000004))
|
||||
caster->CastSpell(caster, SPELL_PRIEST_CHAKRA_SERENITY, true, nullptr, aurEff);
|
||||
{
|
||||
SpellInfo const* spell = sSpellMgr->AssertSpellInfo(SPELL_PRIEST_CHAKRA_SERENITY);
|
||||
int32 bp = caster->HasAura(SPELL_PRIEST_REVELATIONS) ? spell->Effects[EFFECT_2].BasePoints : SPELL_PRIEST_HOLY_WORD_CHASTISE;
|
||||
|
||||
caster->CastCustomSpell(SPELL_PRIEST_CHAKRA_SERENITY, SPELLVALUE_BASE_POINT2, bp, caster, true, nullptr, aurEff);
|
||||
}
|
||||
|
||||
// Chakra: Sanctuary
|
||||
if (spell->SpellFamilyFlags.HasFlag(0x00000200) || spell->SpellFamilyFlags.HasFlag(0, 0x00000020))
|
||||
{
|
||||
caster->CastSpell(caster, SPELL_PRIEST_CHAKRA_SANCTUARY, true, nullptr, aurEff);
|
||||
SpellInfo const* spell = sSpellMgr->AssertSpellInfo(SPELL_PRIEST_CHAKRA_SANCTUARY);
|
||||
int32 bp = caster->HasAura(SPELL_PRIEST_REVELATIONS) ? spell->Effects[EFFECT_2].BasePoints : SPELL_PRIEST_HOLY_WORD_CHASTISE;
|
||||
|
||||
caster->CastCustomSpell(SPELL_PRIEST_CHAKRA_SANCTUARY, SPELLVALUE_BASE_POINT2, bp, caster, true, nullptr, aurEff);
|
||||
caster->CastSpell(caster, SPELL_PRIEST_CHAKRA_SANCTUARY_LINKED, true, nullptr, aurEff);
|
||||
}
|
||||
|
||||
@@ -1393,34 +1406,34 @@ class spell_pri_charkra : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_pri_charkra::HandleEffectApply, EFFECT_0, SPELL_AURA_ADD_FLAT_MODIFIER, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_charkra::HandleProc, EFFECT_0, SPELL_AURA_ADD_FLAT_MODIFIER);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_pri_chakra::HandleEffectApply, EFFECT_0, SPELL_AURA_ADD_FLAT_MODIFIER, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_chakra::HandleProc, EFFECT_0, SPELL_AURA_ADD_FLAT_MODIFIER);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pri_charkra_sanctuary : public AuraScript
|
||||
class spell_pri_chakra_sanctuary : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pri_charkra_sanctuary);
|
||||
PrepareAuraScript(spell_pri_chakra_sanctuary);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_PRIEST_CHAKRA_SANCTUARY_LINKED });
|
||||
}
|
||||
|
||||
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
GetTarget()->RemoveAurasDueToSpell(SPELL_PRIEST_CHAKRA_SANCTUARY_LINKED);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_pri_charkra_sanctuary::HandleEffectRemove, EFFECT_0, SPELL_AURA_ADD_PCT_MODIFIER, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_pri_chakra_sanctuary::HandleEffectRemove, EFFECT_0, SPELL_AURA_ADD_PCT_MODIFIER, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pri_chakra_serenity : public SpellScript
|
||||
class spell_pri_chakra_serenity_script : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_pri_chakra_serenity);
|
||||
PrepareSpellScript(spell_pri_chakra_serenity_script);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -1435,16 +1448,37 @@ class spell_pri_chakra_serenity : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_chakra_serenity::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_chakra_serenity_script::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pri_holy_word_sanctuary : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pri_holy_word_sanctuary);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_PRIEST_HOLY_WORD_SANCTUARY });
|
||||
}
|
||||
|
||||
void HandleDummyTick(AuraEffect const* aurEff)
|
||||
{
|
||||
if (DynamicObject* dyn = GetTarget()->GetDynObject(aurEff->GetId()))
|
||||
GetTarget()->CastSpell(dyn->GetPositionX(), dyn->GetPositionY(), dyn->GetPositionZ(), SPELL_PRIEST_HOLY_WORD_SANCTUARY, true, nullptr, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pri_holy_word_sanctuary::HandleDummyTick, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_priest_spell_scripts()
|
||||
{
|
||||
new spell_pri_body_and_soul();
|
||||
RegisterAuraScript(spell_pri_charkra);
|
||||
RegisterAuraScript(spell_pri_charkra_sanctuary);
|
||||
RegisterSpellScript(spell_pri_chakra_serenity);
|
||||
RegisterAuraScript(spell_pri_chakra);
|
||||
RegisterAuraScript(spell_pri_chakra_sanctuary);
|
||||
RegisterSpellScript(spell_pri_chakra_serenity_script);
|
||||
new spell_pri_circle_of_healing();
|
||||
new spell_pri_dispel_magic();
|
||||
new spell_pri_divine_aegis();
|
||||
@@ -1455,6 +1489,7 @@ void AddSC_priest_spell_scripts()
|
||||
new spell_pri_improved_power_word_shield();
|
||||
new spell_pri_item_greater_heal_refund();
|
||||
new spell_pri_guardian_spirit();
|
||||
RegisterAuraScript(spell_pri_holy_word_sanctuary);
|
||||
new spell_pri_leap_of_faith_effect_trigger();
|
||||
new spell_pri_lightwell_renew();
|
||||
new spell_pri_mana_leech();
|
||||
|
||||
Reference in New Issue
Block a user