[8263] Implement talent 48411 and ranks.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Neveragain 2009-07-28 11:27:39 +04:00 committed by VladimirMangos
parent 786e48cdba
commit ee2fcde901
2 changed files with 27 additions and 5 deletions

View file

@ -5383,16 +5383,19 @@ void Aura::HandleShapeshiftBoosts(bool apply)
uint32 spellId = 0;
uint32 spellId2 = 0;
uint32 HotWSpellId = 0;
uint32 MasterShaperSpellId = 0;
switch(GetModifier()->m_miscvalue)
{
case FORM_CAT:
spellId = 3025;
HotWSpellId = 24900;
MasterShaperSpellId = 48420;
break;
case FORM_TREE:
spellId = 5420;
spellId2 = 34123;
MasterShaperSpellId = 48422;
break;
case FORM_TRAVEL:
spellId = 5419;
@ -5404,11 +5407,13 @@ void Aura::HandleShapeshiftBoosts(bool apply)
spellId = 1178;
spellId2 = 21178;
HotWSpellId = 24899;
MasterShaperSpellId = 48418;
break;
case FORM_DIREBEAR:
spellId = 9635;
spellId2 = 21178;
HotWSpellId = 24899;
MasterShaperSpellId = 48418;
break;
case FORM_BATTLESTANCE:
spellId = 21156;
@ -5423,6 +5428,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
spellId = 24905;
// aura from effect trigger spell
spellId2 = 24907;
MasterShaperSpellId = 48421;
break;
case FORM_FLIGHT:
spellId = 33948;
@ -5471,14 +5477,31 @@ void Aura::HandleShapeshiftBoosts(bool apply)
if (spellInfo->Stances & (1<<form))
m_target->CastSpell(m_target, itr->first, true, NULL, this);
}
//LotP
// Master Shapeshifter
if (MasterShaperSpellId)
{
Unit::AuraList const& ShapeShifterAuras = m_target->GetAurasByType(SPELL_AURA_DUMMY);
for(Unit::AuraList::const_iterator i = ShapeShifterAuras.begin(); i != ShapeShifterAuras.end(); i++)
{
if ((*i)->GetSpellProto()->SpellIconID == 2851)
{
int32 ShiftMod = (*i)->GetModifier()->m_amount;
m_target->CastCustomSpell(m_target, MasterShaperSpellId, &ShiftMod, NULL, NULL, true);
break;
}
}
}
// Leader of the Pack
if (((Player*)m_target)->HasSpell(17007))
{
SpellEntry const *spellInfo = sSpellStore.LookupEntry(24932);
if (spellInfo && spellInfo->Stances & (1<<form))
m_target->CastSpell(m_target, 24932, true, NULL, this);
}
// HotW
// Heart of the Wild
if (HotWSpellId)
{
Unit::AuraList const& mModTotalStatPct = m_target->GetAurasByType(SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE);
@ -5501,6 +5524,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
{
m_target->RemoveAurasDueToSpell(spellId);
m_target->RemoveAurasDueToSpell(spellId2);
m_target->RemoveAurasDueToSpell(MasterShaperSpellId);
Unit::AuraMap& tAuras = m_target->GetAuras();
for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end();)
@ -5511,9 +5535,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
itr = tAuras.begin();
}
else
{
++itr;
}
}
}

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8262"
#define REVISION_NR "8263"
#endif // __REVISION_NR_H__