mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[8263] Implement talent 48411 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
786e48cdba
commit
ee2fcde901
2 changed files with 27 additions and 5 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "8262"
|
||||
#define REVISION_NR "8263"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue