diff options
| author | Lopfest <lopfest@gmail.com> | 2016-04-13 20:24:51 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-13 20:24:51 +0200 |
| commit | 5478647185daf61a14860ea78ede9aceb34c0c1e (patch) | |
| tree | 9b8995118cff2af42f5da56cd6c5b221eca7899e /src/server/game/Spells/SpellEffects.cpp | |
| parent | 1c7515524d9a4f85faa0109f07e832dde0989856 (diff) | |
Core/Spells: Implemented spell effects SPELL_EFFECT_UPDATE_PLAYER_PHASE and SPELL_EFFECT_UPDATE_ZONE_AURAS_AND_PHASES (#16957)
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 49951f12ddc..66b9ef54c8a 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -232,10 +232,10 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectRemoveAura, //164 SPELL_EFFECT_REMOVE_AURA &Spell::EffectDamageFromMaxHealthPCT, //165 SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT &Spell::EffectGiveCurrency, //166 SPELL_EFFECT_GIVE_CURRENCY - &Spell::EffectNULL, //167 SPELL_EFFECT_UPDATE_PLAYER_PHASE + &Spell::EffectUpdatePlayerPhase, //167 SPELL_EFFECT_UPDATE_PLAYER_PHASE &Spell::EffectNULL, //168 SPELL_EFFECT_ALLOW_CONTROL_PET &Spell::EffectDestroyItem, //169 SPELL_EFFECT_DESTROY_ITEM - &Spell::EffectNULL, //170 SPELL_EFFECT_UPDATE_ZONE_AURAS_AND_PHASES + &Spell::EffectUpdateZoneAurasAndPhases, //170 SPELL_EFFECT_UPDATE_ZONE_AURAS_AND_PHASES &Spell::EffectNULL, //171 SPELL_EFFECT_171 &Spell::EffectResurrectWithAura, //172 SPELL_EFFECT_RESURRECT_WITH_AURA &Spell::EffectUnlockGuildVaultTab, //173 SPELL_EFFECT_UNLOCK_GUILD_VAULT_TAB @@ -6026,3 +6026,25 @@ void Spell::EffectApplyEnchantIllusion(SpellEffIndex /*effIndex*/) player->RemoveTradeableItem(itemTarget); itemTarget->ClearSoulboundTradeable(player); } + +void Spell::EffectUpdatePlayerPhase(SpellEffIndex /*effIndex*/) +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + unitTarget->UpdateAreaPhase(); +} + +void Spell::EffectUpdateZoneAurasAndPhases(SpellEffIndex /*effIndex*/) +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + unitTarget->ToPlayer()->UpdateAreaDependentAuras(unitTarget->GetAreaId()); +} |
