aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Martín Berti <15972392+BertiRean@users.noreply.github.com>2021-11-20 16:04:21 -0300
committerGitHub <noreply@github.com>2021-11-20 20:04:21 +0100
commit7c53be0210470d45efce672b5f3dbb3bc5bd857a (patch)
tree43649d69a3dee672de20fef06f0d2ed2ff5590e0
parent8614690e27df8197586cc702760409293f3f6c3d (diff)
Core/Auras: Implemented SPELL_AURA_MODIFY_FALL_DAMAGE_PCT (#27296)
-rw-r--r--src/server/game/Entities/Player/Player.cpp2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraDefines.h2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index bafed0f303d..ffe77ce1445 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -26658,6 +26658,8 @@ void Player::HandleFall(MovementInfo const& movementInfo)
float height = movementInfo.pos.m_positionZ;
UpdateGroundPositionZ(movementInfo.pos.m_positionX, movementInfo.pos.m_positionY, height);
+ damage *= GetTotalAuraMultiplier(SPELL_AURA_MODIFY_FALL_DAMAGE_PCT);
+
if (damage > 0)
{
//Prevent fall damage from being more than the player maximum health
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h
index d81015afa44..cd1211a9946 100644
--- a/src/server/game/Spells/Auras/SpellAuraDefines.h
+++ b/src/server/game/Spells/Auras/SpellAuraDefines.h
@@ -459,7 +459,7 @@ enum AuraType : uint32
SPELL_AURA_371 = 371,
SPELL_AURA_372 = 372,
SPELL_AURA_MOD_SPEED_NO_CONTROL = 373, // NYI
- SPELL_AURA_MODIFY_FALL_DAMAGE_PCT = 374, // NYI
+ SPELL_AURA_MODIFY_FALL_DAMAGE_PCT = 374,
SPELL_AURA_HIDE_MODEL_AND_EQUIPEMENT_SLOTS = 375,
SPELL_AURA_MOD_CURRENCY_GAIN_FROM_SOURCE = 376, // NYI
SPELL_AURA_CAST_WHILE_WALKING_ALL = 377, // Enables casting all spells while moving
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 63a848abad7..d2ed2ca186b 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -442,7 +442,7 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleNULL, //371
&AuraEffect::HandleNULL, //372
&AuraEffect::HandleNULL, //373 SPELL_AURA_MOD_SPEED_NO_CONTROL
- &AuraEffect::HandleNULL, //374 SPELL_AURA_MODIFY_FALL_DAMAGE_PCT
+ &AuraEffect::HandleNoImmediateEffect, //374 SPELL_AURA_MODIFY_FALL_DAMAGE_PCT implemented in Player::HandleFall
&AuraEffect::HandleNULL, //375 SPELL_AURA_HIDE_MODEL_AND_EQUIPEMENT_SLOTS implemented clientside
&AuraEffect::HandleNULL, //376 SPELL_AURA_MOD_CURRENCY_GAIN_FROM_SOURCE
&AuraEffect::HandleNoImmediateEffect, //377 SPELL_AURA_CAST_WHILE_WALKING_ALL implemented in Unit::CanCastSpellWhileMoving