mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-18 14:10:18 -04:00
Scripts/Spells: Fixed Rogue's Recuperate, Mage's Conjure Refreshment and Paladin's Sacred Shield.
Also fixed SQL file naming.
This commit is contained in:
@@ -39,6 +39,7 @@ enum MageSpells
|
||||
SPELL_MAGE_SUMMON_WATER_ELEMENTAL_PERMANENT = 70908,
|
||||
SPELL_MAGE_SUMMON_WATER_ELEMENTAL_TEMPORARY = 70907,
|
||||
SPELL_MAGE_GLYPH_OF_BLAST_WAVE = 62126,
|
||||
SPELL_MAGE_CONJURE_REFRESHMENT = 42955,
|
||||
};
|
||||
|
||||
class spell_mage_blast_wave : public SpellScriptLoader
|
||||
@@ -423,6 +424,75 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
struct ConjureRefreshmentData
|
||||
{
|
||||
uint32 minLevel;
|
||||
uint32 maxLevel;
|
||||
uint32 spellId;
|
||||
};
|
||||
|
||||
uint8 const MAX_CONJURE_REFRESHMENT_SPELLS = 7;
|
||||
const ConjureRefreshmentData _conjureData[MAX_CONJURE_REFRESHMENT_SPELLS] =
|
||||
{
|
||||
{ 33, 43, 92739 },
|
||||
{ 44, 53, 92799 },
|
||||
{ 54, 63, 92802 },
|
||||
{ 64, 73, 92805 },
|
||||
{ 74, 79, 74625 },
|
||||
{ 80, 84, 92822 },
|
||||
{ 85, 85, 92727 }
|
||||
};
|
||||
|
||||
class spell_mage_conjure_refreshment : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_mage_conjure_refreshment() : SpellScriptLoader("spell_mage_conjure_refreshment") { }
|
||||
|
||||
class spell_mage_conjure_refreshment_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_mage_conjure_refreshment_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellEntry*/)
|
||||
{
|
||||
for (uint8 i = 0; i < MAX_CONJURE_REFRESHMENT_SPELLS; ++i)
|
||||
if (!sSpellMgr->GetSpellInfo(_conjureData[i].spellId))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Load()
|
||||
{
|
||||
if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
uint8 level = GetHitUnit()->getLevel();
|
||||
for (uint8 i = 0; i < MAX_CONJURE_REFRESHMENT_SPELLS; ++i)
|
||||
{
|
||||
ConjureRefreshmentData const& spellData = _conjureData[i];
|
||||
if (level < spellData.minLevel || level > spellData.maxLevel)
|
||||
continue;
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), spellData.spellId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_mage_conjure_refreshment_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
{
|
||||
return new spell_mage_conjure_refreshment_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_mage_spell_scripts()
|
||||
{
|
||||
new spell_mage_blast_wave();
|
||||
|
||||
Reference in New Issue
Block a user