diff options
author | maximius <none@none> | 2009-11-17 21:27:08 -0800 |
---|---|---|
committer | maximius <none@none> | 2009-11-17 21:27:08 -0800 |
commit | dfc9338812e3815e8d826d3ec6c681272a9cef17 (patch) | |
tree | 1cf52523ac85898b762523dbfcc48639aba9b305 /src | |
parent | 4eb608b4785a15d1f98d04b8a78f45d424a6f4af (diff) |
*Merge 94c7ee9cce6a by win32, don't mod damage on broken items.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Player.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index a22ef6a3000..2e8b0ae0994 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -7204,11 +7204,11 @@ void Player::_ApplyWeaponDependentAuraMods(Item *item,WeaponAttackType attackTyp void Player::_ApplyWeaponDependentAuraCritMod(Item *item, WeaponAttackType attackType, AuraEffect* aura, bool apply) { // generic not weapon specific case processes in aura code - if(aura->GetSpellProto()->EquippedItemClass == -1) + if (aura->GetSpellProto()->EquippedItemClass == -1) return; BaseModGroup mod = BASEMOD_END; - switch(attackType) + switch (attackType) { case BASE_ATTACK: mod = CRIT_PERCENTAGE; break; case OFF_ATTACK: mod = OFFHAND_CRIT_PERCENTAGE;break; @@ -7217,23 +7217,25 @@ void Player::_ApplyWeaponDependentAuraCritMod(Item *item, WeaponAttackType attac } if (item->IsFitToSpellRequirements(aura->GetSpellProto())) - { HandleBaseModValue(mod, FLAT_MOD, float (aura->GetAmount()), apply); - } } void Player::_ApplyWeaponDependentAuraDamageMod(Item *item, WeaponAttackType attackType, AuraEffect* aura, bool apply) { + //don't apply mod if item is broken + if (item->IsBroken()) + return; + // ignore spell mods for not wands - if((aura->GetMiscValue() & SPELL_SCHOOL_MASK_NORMAL)==0 && (getClassMask() & CLASSMASK_WAND_USERS)==0) + if ((aura->GetMiscValue() & SPELL_SCHOOL_MASK_NORMAL) == 0 && (getClassMask() & CLASSMASK_WAND_USERS) == 0) return; // generic not weapon specific case processes in aura code - if(aura->GetSpellProto()->EquippedItemClass == -1) + if (aura->GetSpellProto()->EquippedItemClass == -1) return; UnitMods unitMod = UNIT_MOD_END; - switch(attackType) + switch (attackType) { case BASE_ATTACK: unitMod = UNIT_MOD_DAMAGE_MAINHAND; break; case OFF_ATTACK: unitMod = UNIT_MOD_DAMAGE_OFFHAND; break; @@ -7242,7 +7244,7 @@ void Player::_ApplyWeaponDependentAuraDamageMod(Item *item, WeaponAttackType att } UnitModifierType unitModType = TOTAL_VALUE; - switch(aura->GetAuraName()) + switch (aura->GetAuraName()) { case SPELL_AURA_MOD_DAMAGE_DONE: unitModType = TOTAL_VALUE; break; case SPELL_AURA_MOD_DAMAGE_PERCENT_DONE: unitModType = TOTAL_PCT; break; @@ -7250,9 +7252,7 @@ void Player::_ApplyWeaponDependentAuraDamageMod(Item *item, WeaponAttackType att } if (item->IsFitToSpellRequirements(aura->GetSpellProto())) - { HandleStatModifier(unitMod, unitModType, float(aura->GetAmount()),apply); - } } void Player::ApplyItemEquipSpell(Item *item, bool apply, bool form_change) |