diff options
author | jackpoz <giacomopoz@gmail.com> | 2014-05-25 00:32:37 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2014-05-25 00:32:37 +0200 |
commit | 1f78ff541ac1a2cec878889ef282410894f2d549 (patch) | |
tree | 0332f40322685e0018bcb8be20305cf1c6b92b33 /src | |
parent | a4ba54fbdbb690377c873ea34f1d3541002872b5 (diff) | |
parent | 51b782a91e84be4ef80281c917e670cfab032978 (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.cpp | 7 |
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); + } } } |