aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-05-25 00:32:37 +0200
committerjackpoz <giacomopoz@gmail.com>2014-05-25 00:32:37 +0200
commit1f78ff541ac1a2cec878889ef282410894f2d549 (patch)
tree0332f40322685e0018bcb8be20305cf1c6b92b33 /src
parenta4ba54fbdbb690377c873ea34f1d3541002872b5 (diff)
parent51b782a91e84be4ef80281c917e670cfab032978 (diff)
Merge pull request #12120 from Trisjdc/aura_exploit
Core/Auras: Solve exploit involving SPELL_AURA_MOD_DAMAGE_DONE and weapon swapping
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 71e37b1a256..f1a1524f504 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8201,7 +8201,12 @@ void Player::_ApplyWeaponDependentAuraDamageMod(Item* item, WeaponAttackType att
{
HandleStatModifier(unitMod, unitModType, float(aura->GetAmount()), apply);
if (unitModType == TOTAL_VALUE)
- ApplyModUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS, aura->GetAmount(), apply);
+ {
+ if (aura->GetAmount() > 0)
+ ApplyModUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS, aura->GetAmount(), apply);
+ else
+ ApplyModUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG, aura->GetAmount(), apply);
+ }
}
}