mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +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 spellId = 0;
|
||||||
uint32 spellId2 = 0;
|
uint32 spellId2 = 0;
|
||||||
uint32 HotWSpellId = 0;
|
uint32 HotWSpellId = 0;
|
||||||
|
uint32 MasterShaperSpellId = 0;
|
||||||
|
|
||||||
switch(GetModifier()->m_miscvalue)
|
switch(GetModifier()->m_miscvalue)
|
||||||
{
|
{
|
||||||
case FORM_CAT:
|
case FORM_CAT:
|
||||||
spellId = 3025;
|
spellId = 3025;
|
||||||
HotWSpellId = 24900;
|
HotWSpellId = 24900;
|
||||||
|
MasterShaperSpellId = 48420;
|
||||||
break;
|
break;
|
||||||
case FORM_TREE:
|
case FORM_TREE:
|
||||||
spellId = 5420;
|
spellId = 5420;
|
||||||
spellId2 = 34123;
|
spellId2 = 34123;
|
||||||
|
MasterShaperSpellId = 48422;
|
||||||
break;
|
break;
|
||||||
case FORM_TRAVEL:
|
case FORM_TRAVEL:
|
||||||
spellId = 5419;
|
spellId = 5419;
|
||||||
|
|
@ -5404,11 +5407,13 @@ void Aura::HandleShapeshiftBoosts(bool apply)
|
||||||
spellId = 1178;
|
spellId = 1178;
|
||||||
spellId2 = 21178;
|
spellId2 = 21178;
|
||||||
HotWSpellId = 24899;
|
HotWSpellId = 24899;
|
||||||
|
MasterShaperSpellId = 48418;
|
||||||
break;
|
break;
|
||||||
case FORM_DIREBEAR:
|
case FORM_DIREBEAR:
|
||||||
spellId = 9635;
|
spellId = 9635;
|
||||||
spellId2 = 21178;
|
spellId2 = 21178;
|
||||||
HotWSpellId = 24899;
|
HotWSpellId = 24899;
|
||||||
|
MasterShaperSpellId = 48418;
|
||||||
break;
|
break;
|
||||||
case FORM_BATTLESTANCE:
|
case FORM_BATTLESTANCE:
|
||||||
spellId = 21156;
|
spellId = 21156;
|
||||||
|
|
@ -5423,6 +5428,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
|
||||||
spellId = 24905;
|
spellId = 24905;
|
||||||
// aura from effect trigger spell
|
// aura from effect trigger spell
|
||||||
spellId2 = 24907;
|
spellId2 = 24907;
|
||||||
|
MasterShaperSpellId = 48421;
|
||||||
break;
|
break;
|
||||||
case FORM_FLIGHT:
|
case FORM_FLIGHT:
|
||||||
spellId = 33948;
|
spellId = 33948;
|
||||||
|
|
@ -5471,14 +5477,31 @@ void Aura::HandleShapeshiftBoosts(bool apply)
|
||||||
if (spellInfo->Stances & (1<<form))
|
if (spellInfo->Stances & (1<<form))
|
||||||
m_target->CastSpell(m_target, itr->first, true, NULL, this);
|
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))
|
if (((Player*)m_target)->HasSpell(17007))
|
||||||
{
|
{
|
||||||
SpellEntry const *spellInfo = sSpellStore.LookupEntry(24932);
|
SpellEntry const *spellInfo = sSpellStore.LookupEntry(24932);
|
||||||
if (spellInfo && spellInfo->Stances & (1<<form))
|
if (spellInfo && spellInfo->Stances & (1<<form))
|
||||||
m_target->CastSpell(m_target, 24932, true, NULL, this);
|
m_target->CastSpell(m_target, 24932, true, NULL, this);
|
||||||
}
|
}
|
||||||
// HotW
|
|
||||||
|
// Heart of the Wild
|
||||||
if (HotWSpellId)
|
if (HotWSpellId)
|
||||||
{
|
{
|
||||||
Unit::AuraList const& mModTotalStatPct = m_target->GetAurasByType(SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE);
|
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(spellId);
|
||||||
m_target->RemoveAurasDueToSpell(spellId2);
|
m_target->RemoveAurasDueToSpell(spellId2);
|
||||||
|
m_target->RemoveAurasDueToSpell(MasterShaperSpellId);
|
||||||
|
|
||||||
Unit::AuraMap& tAuras = m_target->GetAuras();
|
Unit::AuraMap& tAuras = m_target->GetAuras();
|
||||||
for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end();)
|
for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end();)
|
||||||
|
|
@ -5511,9 +5535,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
|
||||||
itr = tAuras.begin();
|
itr = tAuras.begin();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
++itr;
|
++itr;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8262"
|
#define REVISION_NR "8263"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue