diff options
| author | DoctorKraft <DoctorKraft@users.noreply.github.com> | 2018-04-08 23:51:01 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-04-09 00:51:01 +0300 |
| commit | 6e6482bbcc192467f1cd4d269c9b77c977acd843 (patch) | |
| tree | 386ec03534500cbd7fa18ff8f2d8d88e262cd6a1 /src/server/game/Spells | |
| parent | f52ffc63f6c180ad3058a15c25acd76795050a41 (diff) | |
Core/Auras: implement Aura 379 (SPELL_AURA_MOD_MANA_REGEN_PCT) (#20851)
Diffstat (limited to 'src/server/game/Spells')
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraDefines.h | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 15 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.h | 1 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 4e33349d33d..f8a44b1cadd 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -448,7 +448,7 @@ enum AuraType : uint32 SPELL_AURA_MOD_CURRENCY_GAIN_FROM_SOURCE = 376, // NYI SPELL_AURA_CAST_WHILE_WALKING_2 = 377, // NYI SPELL_AURA_378 = 378, - SPELL_AURA_379 = 379, + SPELL_AURA_MOD_MANA_REGEN_PCT = 379, SPELL_AURA_MOD_GLOBAL_COOLDOWN_BY_HASTE = 380, // Allows melee abilities to benefit from haste GCD reduction SPELL_AURA_381 = 381, SPELL_AURA_MOD_PET_STAT_PCT = 382, // NYI diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index c21c6147e98..018d03ce9ee 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -445,7 +445,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //376 SPELL_AURA_MOD_CURRENCY_GAIN_FROM_SOURCE &AuraEffect::HandleNULL, //377 SPELL_AURA_CAST_WHILE_WALKING_2 &AuraEffect::HandleNULL, //378 - &AuraEffect::HandleNULL, //379 + &AuraEffect::HandleModManaRegenPct, //379 SPELL_AURA_MOD_MANA_REGEN_PCT implemented in Player::UpdateManaRegen &AuraEffect::HandleNoImmediateEffect, //380 SPELL_AURA_MOD_GLOBAL_COOLDOWN_BY_HASTE implemented in Spell::TriggerGlobalCooldown &AuraEffect::HandleNULL, //381 &AuraEffect::HandleNULL, //382 SPELL_AURA_MOD_PET_STAT_PCT @@ -3644,6 +3644,19 @@ void AuraEffect::HandleModManaRegen(AuraApplication const* aurApp, uint8 mode, b target->ToPlayer()->UpdateManaRegen(); } +void AuraEffect::HandleModManaRegenPct(AuraApplication const* aurApp, uint8 mode, bool /*apply*/) const +{ + if (!(mode & (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_STAT))) + return; + + Unit* target = aurApp->GetTarget(); + + if (!target->IsPlayer()) + return; + + target->ToPlayer()->UpdateManaRegen(); +} + void AuraEffect::HandleAuraModIncreaseHealth(AuraApplication const* aurApp, uint8 mode, bool apply) const { if (!(mode & (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_STAT))) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.h b/src/server/game/Spells/Auras/SpellAuraEffects.h index 7493aaab17a..93a64406273 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.h +++ b/src/server/game/Spells/Auras/SpellAuraEffects.h @@ -241,6 +241,7 @@ class TC_GAME_API AuraEffect void HandleModPowerRegen(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleModPowerRegenPCT(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleModManaRegen(AuraApplication const* aurApp, uint8 mode, bool apply) const; + void HandleModManaRegenPct(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraModIncreaseHealth(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraModIncreaseMaxHealth(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraModIncreaseEnergy(AuraApplication const* aurApp, uint8 mode, bool apply) const; |
