diff options
author | QAston <qaston@gmail.com> | 2011-09-06 02:37:21 -0700 |
---|---|---|
committer | QAston <qaston@gmail.com> | 2011-09-06 02:37:21 -0700 |
commit | dad9d07045ae8f9b516125c7733f36d562d77c5b (patch) | |
tree | 1b7b1621a7b7b9acd5dba9801d3f230f6b3ca406 /src | |
parent | 94126e0369cfd46c522f86dc67d937462f7f9c60 (diff) | |
parent | 207f598a20aa957054813c20ff2f2cd84cd75b09 (diff) |
Merge pull request #2920 from Chaplain/cleanup
Core/Auras: Improvements in SPELL_AURA_MOD_DAMAGE_PERCENT_DONE handling:
* Weapon specific case for MOD_DAMAGE_DONE_PCT shouldn't change PLAYER_FIELD_MOD_DAMAGE_DONE_PCT, because PLAYER_FIELD_MOD_DAMAGE_DONE_PCT applyed for _all_ damage that deal target.
* Fixed applying SPELL_AURA_MOD_DAMAGE_PERCENT_DONE for SpellDamageBonus.
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 |
3 files changed, 2 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f06386a842f..df8fe46499d 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8090,8 +8090,6 @@ 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); - else - ApplyPercentModFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT, float (aura->GetAmount()), apply); } } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b5dbb89b2cc..407f7253e3f 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10368,7 +10368,7 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellInfo const* spellProto, uint32 AuraEffectList const& mModDamagePercentDone = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_PERCENT_DONE); for (AuraEffectList::const_iterator i = mModDamagePercentDone.begin(); i != mModDamagePercentDone.end(); ++i) - if ((*i)->GetMiscValue() & spellProto->GetSchoolMask() && !(spellProto->GetSchoolMask() & SPELL_SCHOOL_MASK_NORMAL)) + if ((*i)->GetMiscValue() & spellProto->GetSchoolMask()) { if ((*i)->GetSpellInfo()->EquippedItemClass == -1) AddPctN(DoneTotalMod, (*i)->GetAmount()); diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 40dab07b0c9..8a3402b743c 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -4522,7 +4522,7 @@ void AuraEffect::HandleModDamagePercentDone(AuraApplication const* aurApp, uint8 } else { - // done in Player::_ApplyWeaponDependentAuraMods for !SPELL_SCHOOL_MASK_NORMAL and also for wand case + // done in Player::_ApplyWeaponDependentAuraMods for SPELL_SCHOOL_MASK_NORMAL && EquippedItemClass != -1 and also for wand case } } |