aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatan Shukry <matanshukry@gmail.com>2021-02-23 18:36:36 +0200
committerGitHub <noreply@github.com>2021-02-23 17:36:36 +0100
commit03f1d3cedf66711ec375c421ddbb458a9992800b (patch)
tree6c331b685cfdd2b8637041f31934b6630a860b9a
parent23aa13257a0af0143651f48ac3af65435ba9f346 (diff)
Core/Auras: Implemented SPELL_AURA_MOD_POWER_GAIN_PCT (#26132)
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
-rw-r--r--src/server/game/Spells/Auras/SpellAuraDefines.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 21a9c44d608..4d6319c73b4 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8504,6 +8504,9 @@ int32 Unit::ModifyPower(Powers power, int32 dVal)
if (dVal == 0)
return 0;
+ if (dVal > 0)
+ dVal *= GetTotalAuraMultiplierByMiscValue(SPELL_AURA_MOD_POWER_GAIN_PCT, power);
+
int32 curPower = GetPower(power);
int32 val = dVal + curPower;
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h
index 2df9c9bd955..d8742ea51d9 100644
--- a/src/server/game/Spells/Auras/SpellAuraDefines.h
+++ b/src/server/game/Spells/Auras/SpellAuraDefines.h
@@ -401,7 +401,7 @@ enum AuraType : uint32
SPELL_AURA_PHASE_GROUP = 326, // Puts the player in all the phases that are in the group with id = miscB
SPELL_AURA_PHASE_ALWAYS_VISIBLE = 327, // NYI - sets PhaseShiftFlags::AlwaysVisible
SPELL_AURA_TRIGGER_SPELL_ON_POWER_PCT = 328, // NYI Triggers spell when power goes above (MiscB = 0) or falls below (MiscB = 1) specified percent value (once, not every time condition has meet)
- SPELL_AURA_MOD_POWER_GAIN_PCT = 329, // NYI
+ SPELL_AURA_MOD_POWER_GAIN_PCT = 329,
SPELL_AURA_CAST_WHILE_WALKING = 330,
SPELL_AURA_FORCE_WEATHER = 331,
SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS = 332,