[c12649] Implement SPELL_AURA_PHASE_2

This commit is contained in:
Dramacydal 2013-06-17 11:11:33 +01:00 committed by Antz
parent c4755b1b28
commit e34a5b388e
6 changed files with 20 additions and 6 deletions

View file

@ -2423,7 +2423,14 @@ void Player::SetGameMaster(bool on)
// restore phase // restore phase
AuraList const& phases = GetAurasByType(SPELL_AURA_PHASE); AuraList const& phases = GetAurasByType(SPELL_AURA_PHASE);
SetPhaseMask(!phases.empty() ? phases.front()->GetMiscValue() : uint32(PHASEMASK_NORMAL), false); AuraList const& phases2 = GetAurasByType(SPELL_AURA_PHASE_2);
if (!phases.empty())
SetPhaseMask(phases.front()->GetMiscValue(), false);
else if (!phases2.empty())
SetPhaseMask(phases2.front()->GetMiscValue(), false);
else
SetPhaseMask(PHASEMASK_NORMAL, false);
CallForAllControlledUnits(SetGameMasterOffHelper(getFaction()), CONTROLLED_PET | CONTROLLED_TOTEMS | CONTROLLED_GUARDIANS | CONTROLLED_CHARM); CallForAllControlledUnits(SetGameMasterOffHelper(getFaction()), CONTROLLED_PET | CONTROLLED_TOTEMS | CONTROLLED_GUARDIANS | CONTROLLED_CHARM);
@ -22202,8 +22209,11 @@ uint32 Player::GetPhaseMaskForSpawn() const
else else
{ {
AuraList const& phases = GetAurasByType(SPELL_AURA_PHASE); AuraList const& phases = GetAurasByType(SPELL_AURA_PHASE);
AuraList const& phases2 = GetAurasByType(SPELL_AURA_PHASE_2);
if (!phases.empty()) if (!phases.empty())
phase = phases.front()->GetMiscValue(); phase = phases.front()->GetMiscValue();
else if (!phases2.empty())
phase = phases2.front()->GetMiscValue();
} }
// some aura phases include 1 normal map in addition to phase itself // some aura phases include 1 normal map in addition to phase itself

View file

@ -361,7 +361,7 @@ enum AuraType
SPELL_AURA_323 = 323, SPELL_AURA_323 = 323,
SPELL_AURA_324 = 324, SPELL_AURA_324 = 324,
SPELL_AURA_325 = 325, SPELL_AURA_325 = 325,
SPELL_AURA_326 = 326, SPELL_AURA_PHASE_2 = 326,
SPELL_AURA_327 = 327, SPELL_AURA_327 = 327,
SPELL_AURA_328 = 328, SPELL_AURA_328 = 328,
SPELL_AURA_MOD_RUNIC_POWER_REGEN = 329, SPELL_AURA_MOD_RUNIC_POWER_REGEN = 329,

View file

@ -379,7 +379,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS] =
&Aura::HandleUnused, //323 0 spells in 4.3.4 &Aura::HandleUnused, //323 0 spells in 4.3.4
&Aura::HandleNULL, //324 2 spells in 4.3.4 test spells &Aura::HandleNULL, //324 2 spells in 4.3.4 test spells
&Aura::HandleUnused, //325 0 spells in 4.3.4 &Aura::HandleUnused, //325 0 spells in 4.3.4
&Aura::HandleNULL, //326 24 spells in 4.3.4 new phase auras &Aura::HandlePhase, //326 SPELL_AURA_PHASE_2 24 spells in 4.3.4
&Aura::HandleUnused, //327 0 spells in 4.3.4 &Aura::HandleUnused, //327 0 spells in 4.3.4
&Aura::HandleNULL, //328 3 spells in 4.3.4 Eclipse Mastery Driver Passive &Aura::HandleNULL, //328 3 spells in 4.3.4 Eclipse Mastery Driver Passive
&Aura::HandleNULL, //329 SPELL_AURA_MOD_RUNIC_POWER_REGEN 3 spells in 4.3.4 &Aura::HandleNULL, //329 SPELL_AURA_MOD_RUNIC_POWER_REGEN 3 spells in 4.3.4
@ -8762,6 +8762,9 @@ void Aura::HandlePhase(bool apply, bool Real)
Unit::AuraList const& phases = target->GetAurasByType(SPELL_AURA_PHASE); Unit::AuraList const& phases = target->GetAurasByType(SPELL_AURA_PHASE);
if (!phases.empty()) if (!phases.empty())
target->RemoveAurasDueToSpell(phases.front()->GetId(), GetHolder()); target->RemoveAurasDueToSpell(phases.front()->GetId(), GetHolder());
Unit::AuraList const& phases2 = target->GetAurasByType(SPELL_AURA_PHASE_2);
if (!phases2.empty())
target->RemoveAurasDueToSpell(phases2.front()->GetId(), GetHolder());
} }
target->SetPhaseMask(apply ? GetMiscValue() : uint32(PHASEMASK_NORMAL), true); target->SetPhaseMask(apply ? GetMiscValue() : uint32(PHASEMASK_NORMAL), true);

View file

@ -4021,6 +4021,7 @@ void SpellMgr::LoadSpellAreas()
{ {
case SPELL_AURA_DUMMY: case SPELL_AURA_DUMMY:
case SPELL_AURA_PHASE: case SPELL_AURA_PHASE:
case SPELL_AURA_PHASE_2:
case SPELL_AURA_GHOST: case SPELL_AURA_GHOST:
break; break;
default: default:

View file

@ -358,7 +358,7 @@ pAuraProcHandler AuraProcHandler[TOTAL_AURAS] =
&Unit::HandleNULLProc, //323 0 spells in 4.3.4 &Unit::HandleNULLProc, //323 0 spells in 4.3.4
&Unit::HandleNULLProc, //324 2 spells in 4.3.4 test spells &Unit::HandleNULLProc, //324 2 spells in 4.3.4 test spells
&Unit::HandleNULLProc, //325 0 spells in 4.3.4 &Unit::HandleNULLProc, //325 0 spells in 4.3.4
&Unit::HandleNULLProc, //326 24 spells in 4.3.4 new phase auras &Unit::HandleNULLProc, //326 SPELL_AURA_PHASE_2 24 spells in 4.3.4
&Unit::HandleNULLProc, //327 0 spells in 4.3.4 &Unit::HandleNULLProc, //327 0 spells in 4.3.4
&Unit::HandleNULLProc, //328 3 spells in 4.3.4 Eclipse Mastery Driver Passive &Unit::HandleNULLProc, //328 3 spells in 4.3.4 Eclipse Mastery Driver Passive
&Unit::HandleNULLProc, //329 SPELL_AURA_MOD_RUNIC_POWER_REGEN 3 spells in 4.3.4 &Unit::HandleNULLProc, //329 SPELL_AURA_MOD_RUNIC_POWER_REGEN 3 spells in 4.3.4

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "12648" #define REVISION_NR "12649"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__