Inspired Intellect
This commit is contained in:
@@ -47,6 +47,7 @@ enum MageSpells
|
||||
SPELL_MAGE_ARCANE_BARRAGE_ENERGIZE = 321529,
|
||||
SPELL_MAGE_ARCANE_BARRAGE_R3 = 321526,
|
||||
SPELL_MAGE_ARCANE_CHARGE = 36032,
|
||||
SPELL_MAGE_ARCANE_INTELLECT = 1459,
|
||||
SPELL_MAGE_ARCANE_MAGE = 137021,
|
||||
SPELL_MAGE_ARCANE_ORB = 153626,
|
||||
SPELL_MAGE_ARCANE_ORB_DAMAGE = 153640,
|
||||
@@ -111,6 +112,7 @@ enum MageSpells
|
||||
SPELL_MAGE_IGNITION_BURST = 1217359,
|
||||
SPELL_MAGE_IMPROVED_COMBUSTION = 383967,
|
||||
SPELL_MAGE_IMPROVED_SCORCH = 383608,
|
||||
SPELL_MAGE_INSPIRED_INTELLECT = 458437,
|
||||
SPELL_MAGE_LIVING_BOMB_EXPLOSION = 44461,
|
||||
SPELL_MAGE_LIVING_BOMB_PERIODIC = 217694,
|
||||
SPELL_MAGE_MANA_SURGE = 37445,
|
||||
@@ -2054,6 +2056,45 @@ class spell_mage_ignite : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 458437 - Inspired Intellect
|
||||
// While the caster knows this talent the Intellect granted by their Arcane Intellect is worth
|
||||
// $s1% more. The talent itself is only a dummy aura, so the bonus is applied to the buff.
|
||||
class spell_mage_inspired_intellect : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MAGE_ARCANE_INTELLECT, SPELL_MAGE_INSPIRED_INTELLECT });
|
||||
}
|
||||
|
||||
void CalculateAmount(AuraEffect const* aurEff, SpellEffectValue& amount, bool& /*canBeRecalculated*/)
|
||||
{
|
||||
// Arcane Intellect grants its Intellect through a generic stat aura, and the exact one it
|
||||
// uses is picked out by its misc value so only the Intellect effect is ever touched
|
||||
if (aurEff->GetMiscValue() != STAT_INTELLECT)
|
||||
return;
|
||||
|
||||
AuraType const auraType = aurEff->GetAuraType();
|
||||
if (auraType != SPELL_AURA_MOD_STAT_BONUS_PCT && auraType != SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE
|
||||
&& auraType != SPELL_AURA_MOD_STAT)
|
||||
return;
|
||||
|
||||
Unit* caster = aurEff->GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
AuraEffect const* inspiredIntellect = caster->GetAuraEffect(SPELL_MAGE_INSPIRED_INTELLECT, EFFECT_0, caster->GetGUID());
|
||||
if (!inspiredIntellect)
|
||||
return;
|
||||
|
||||
amount += inspiredIntellect->GetAmount();
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_mage_inspired_intellect::CalculateAmount, EFFECT_ALL, SPELL_AURA_ANY);
|
||||
}
|
||||
};
|
||||
|
||||
// 1217359 - Ignition Burst (attached to 458964 - Heat Shimmer)
|
||||
class spell_mage_ignition_burst : public SpellScript
|
||||
{
|
||||
@@ -3185,6 +3226,7 @@ void AddSC_mage_spell_scripts()
|
||||
RegisterSpellScript(spell_mage_ice_lance_damage);
|
||||
RegisterSpellScript(spell_mage_shatter);
|
||||
RegisterSpellScript(spell_mage_ignite);
|
||||
RegisterSpellScript(spell_mage_inspired_intellect);
|
||||
RegisterSpellScript(spell_mage_ignition_burst);
|
||||
RegisterSpellScript(spell_mage_imp_mana_gems);
|
||||
RegisterSpellScript(spell_mage_improved_combustion);
|
||||
|
||||
Reference in New Issue
Block a user