diff options
| author | Trisjdc <trisjdc@gmail.com> | 2014-05-24 19:01:05 +0100 |
|---|---|---|
| committer | Trisjdc <trisjdc@gmail.com> | 2014-05-24 19:01:05 +0100 |
| commit | 51b782a91e84be4ef80281c917e670cfab032978 (patch) | |
| tree | 40dda620763cedaf56e06459f5e9f8a31dc776ce /src | |
| parent | f091713086eab1ef928bc2f79eb0dc3b0bc4ce2f (diff) | |
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); + } } } |
