aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells
diff options
context:
space:
mode:
authorDoctorKraft <DoctorKraft@users.noreply.github.com>2018-04-08 23:51:01 +0200
committerShauren <shauren.trinity@gmail.com>2018-04-09 00:51:01 +0300
commit6e6482bbcc192467f1cd4d269c9b77c977acd843 (patch)
tree386ec03534500cbd7fa18ff8f2d8d88e262cd6a1 /src/server/game/Spells
parentf52ffc63f6c180ad3058a15c25acd76795050a41 (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.h2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp15
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.h1
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;