Core/Spells: simplified Obsidian Armor's spell script
This commit is contained in:
1 parent
4009a75a97
commit
e6a67a7ff1
1 file changed
+10
-29
@@ -5104,26 +5104,15 @@ class spell_item_blaze_of_life : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum ItemObsidianArmor
|
||||
static std::array<uint32 /*spellId*/, MAX_SPELL_SCHOOL - 1> const ResistanceSpellsBySchool =
|
||||
{
|
||||
SPELL_FIRE_RESISTANCE = 27533,
|
||||
SPELL_ARCANCE_RESISTANCE = 27540,
|
||||
SPELL_NATURE_RESISTANCE = 27538,
|
||||
SPELL_HOLY_RESISTANCE = 27536,
|
||||
SPELL_SHADOW_RESISTANCE = 27535,
|
||||
SPELL_FROST_RESISTANCE = 27534,
|
||||
|
||||
};
|
||||
|
||||
static std::array<uint32 /*spellId*/, MAX_SPELL_SCHOOL> const ResistanceSpellsBySchool =
|
||||
{
|
||||
0, // SPELL_SCHOOL_NORMAL - no shield
|
||||
SPELL_HOLY_RESISTANCE, // SPELL_SCHOOL_HOLY
|
||||
SPELL_FIRE_RESISTANCE, // SPELL_SCHOOL_FIRE
|
||||
SPELL_NATURE_RESISTANCE, // SPELL_SCHOOL_NATURE
|
||||
SPELL_FROST_RESISTANCE, // SPELL_SCHOOL_FROST
|
||||
SPELL_SHADOW_RESISTANCE, // SPELL_SCHOOL_SHADOW
|
||||
SPELL_ARCANCE_RESISTANCE // SPELL_SCHOOL_ARCANE
|
||||
// SPELL_SCHOOL_NORMAL has no shield
|
||||
27536, // SPELL_SCHOOL_HOLY
|
||||
27533, // SPELL_SCHOOL_FIRE
|
||||
27538, // SPELL_SCHOOL_NATURE
|
||||
27534, // SPELL_SCHOOL_FROST
|
||||
27535, // SPELL_SCHOOL_SHADOW
|
||||
27540 // SPELL_SCHOOL_ARCANE
|
||||
};
|
||||
|
||||
// 27539 - Obsidian Armor
|
||||
@@ -5131,15 +5120,7 @@ class spell_item_obsidian_armor : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_HOLY_RESISTANCE,
|
||||
SPELL_FIRE_RESISTANCE,
|
||||
SPELL_NATURE_RESISTANCE,
|
||||
SPELL_FROST_RESISTANCE,
|
||||
SPELL_SHADOW_RESISTANCE,
|
||||
SPELL_ARCANCE_RESISTANCE
|
||||
});
|
||||
return ValidateSpellInfo(ResistanceSpellsBySchool);
|
||||
}
|
||||
|
||||
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||
@@ -5150,7 +5131,7 @@ class spell_item_obsidian_armor : public AuraScript
|
||||
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
|
||||
{
|
||||
if ((eventInfo.GetSpellInfo()->GetSchoolMask() & (1 << i)) != 0)
|
||||
GetTarget()->CastSpell(GetTarget(), ResistanceSpellsBySchool[i], aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), ResistanceSpellsBySchool[i - 1], aurEff);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user