[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

@ -2417,13 +2417,20 @@ void Player::SetGameMaster(bool on)
}
else
{
m_ExtraFlags &= ~ PLAYER_EXTRA_GM_ON;
m_ExtraFlags &= ~PLAYER_EXTRA_GM_ON;
setFactionForRace(getRace());
RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_GM);
// restore 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);
@ -22202,8 +22209,11 @@ uint32 Player::GetPhaseMaskForSpawn() const
else
{
AuraList const& phases = GetAurasByType(SPELL_AURA_PHASE);
AuraList const& phases2 = GetAurasByType(SPELL_AURA_PHASE_2);
if (!phases.empty())
phase = phases.front()->GetMiscValue();
else if (!phases2.empty())
phase = phases2.front()->GetMiscValue();
}
// 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_324 = 324,
SPELL_AURA_325 = 325,
SPELL_AURA_326 = 326,
SPELL_AURA_PHASE_2 = 326,
SPELL_AURA_327 = 327,
SPELL_AURA_328 = 328,
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::HandleNULL, //324 2 spells in 4.3.4 test spells
&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::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
@ -8762,6 +8762,9 @@ void Aura::HandlePhase(bool apply, bool Real)
Unit::AuraList const& phases = target->GetAurasByType(SPELL_AURA_PHASE);
if (!phases.empty())
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);

View file

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

View file

@ -358,7 +358,7 @@ pAuraProcHandler AuraProcHandler[TOTAL_AURAS] =
&Unit::HandleNULLProc, //323 0 spells in 4.3.4
&Unit::HandleNULLProc, //324 2 spells in 4.3.4 test spells
&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, //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

View file

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