[8340] Implement talent 29447 and ranks.

Original patch provided by raftom.
More compact spell filter code provided by Sarjuuk.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
VladimirMangos 2009-08-09 14:59:06 +04:00
parent 6d9448dd7f
commit 3c297ac8c4
2 changed files with 30 additions and 5 deletions

View file

@ -7981,12 +7981,37 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
}
// Custom scripted damage
switch(spellProto->SpellFamilyName)
{
case SPELLFAMILY_MAGE:
{
// Ice Lance
if (spellProto->SpellFamilyName == SPELLFAMILY_MAGE && spellProto->SpellIconID == 186)
if (spellProto->SpellIconID == 186)
{
if (pVictim->isFrozen())
DoneTotalMod *= 3.0f;
}
// Torment the weak affected (Arcane Barrage, Arcane Blast, Frostfire Bolt, Arcane Missiles, Fireball)
if ((spellProto->SpellFamilyFlags & UI64LIT(0x0000900020200021)) &&
(pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || pVictim->HasAuraType(SPELL_AURA_MELEE_SLOW)))
{
//Search for Torment the weak dummy aura
Unit::AuraList const& ttw = GetAurasByType(SPELL_AURA_DUMMY);
for(Unit::AuraList::const_iterator i = ttw.begin(); i != ttw.end(); ++i)
{
if ((*i)->GetSpellProto()->SpellIconID == 3263)
{
DoneTotalMod *= ((*i)->GetModifier()->m_amount+100.0f) / 100.0f;
break;
}
}
}
break;
}
default:
break;
}
// ..taken
AuraList const& mModDamagePercentTaken = pVictim->GetAurasByType(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8339"
#define REVISION_NR "8340"
#endif // __REVISION_NR_H__