diff options
author | ille <ille@ille> | 2013-02-20 20:41:48 +0100 |
---|---|---|
committer | ille <ille@ille> | 2013-02-20 20:41:48 +0100 |
commit | 4657cb896f12fe94d6c1e553144b8d1468ca5564 (patch) | |
tree | bff854442f66af677ff0f944227167af05a72d4b /src | |
parent | 65258666e03769cb7b1554d88e8c7b5820f5cdfa (diff) |
Core/Conditions: add missing break
Core/Units: use attackers MeleeDamageSchoolMask to calculate benefit/mod for auras with SPELL_AURA_MOD_DAMAGE_TAKEN/SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN in Unit::MeleeDamageBonusTaken()
thx bonitas for pointing
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index a5494f689fb..96cb8b7ee25 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -431,6 +431,7 @@ uint32 Condition::GetSearcherTypeMaskForCondition() default: break; } + break; case CONDITION_TYPE_MASK: if (ConditionValue1 & TYPEMASK_UNIT) mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index fa7ef5189fb..d75eb46ea8d 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11193,7 +11193,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT // ..taken AuraEffectList const& mDamageTaken = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_TAKEN); for (AuraEffectList::const_iterator i = mDamageTaken.begin(); i != mDamageTaken.end(); ++i) - if ((*i)->GetMiscValue() & GetMeleeDamageSchoolMask()) + if ((*i)->GetMiscValue() & attacker->GetMeleeDamageSchoolMask()) TakenFlatBenefit += (*i)->GetAmount(); if (attType != RANGED_ATTACK) @@ -11205,7 +11205,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT float TakenTotalMod = 1.0f; // ..taken - TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, GetMeleeDamageSchoolMask()); + TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, attacker->GetMeleeDamageSchoolMask()); // .. taken pct (special attacks) if (spellProto) |