aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp4
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
3 files changed, 6 insertions, 10 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index ffda2efc0b1..897df8b1633 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5889,7 +5889,7 @@ float Player::GetRatingBonusValue(CombatRating cr) const
float baseResult = float(GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr)) * GetRatingMultiplier(cr);
if (cr != CR_RESILIENCE_PLAYER_DAMAGE_TAKEN)
return baseResult;
- return float(1.0f - pow(0.99f, baseResult));
+ return float(1.0f - pow(0.99f, baseResult)) * 100.0f;
}
float Player::GetExpertiseDodgeOrParryReduction(WeaponAttackType attType) const
@@ -5927,7 +5927,7 @@ float Player::OCTRegenMPPerSpirit()
void Player::ApplyRatingMod(CombatRating cr, int32 value, bool apply)
{
- m_baseRatingValue[cr]+=(apply ? value : -value);
+ m_baseRatingValue[cr] +=(apply ? value : -value);
// explicit affected values
switch (cr)
@@ -5943,14 +5943,12 @@ void Player::ApplyRatingMod(CombatRating cr, int32 value, bool apply)
}
case CR_HASTE_RANGED:
{
- float RatingChange = value * GetRatingMultiplier(cr);
- ApplyAttackTimePercentMod(RANGED_ATTACK, RatingChange, apply);
+ ApplyAttackTimePercentMod(RANGED_ATTACK, value * GetRatingMultiplier(cr), apply);
break;
}
case CR_HASTE_SPELL:
{
- float RatingChange = value * GetRatingMultiplier(cr);
- ApplyCastTimePercentMod(RatingChange, apply);
+ ApplyCastTimePercentMod(value * GetRatingMultiplier(cr), apply);
break;
}
default:
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index e8ac91eb145..f95c808d167 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -15688,8 +15688,8 @@ void Unit::ApplyResilience(Unit const* victim, int32* damage, bool isCrit) const
return;
if (isCrit)
- *damage = target->GetCritDamageReduction(*damage);
- *damage = target->GetDamageReduction(*damage);
+ *damage -= target->GetCritDamageReduction(*damage);
+ *damage -= target->GetDamageReduction(*damage);
}
// Melee based spells can be miss, parry or dodge on this step
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 515e7644299..cb58b79794e 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1451,8 +1451,6 @@ class Unit : public WorldObject
// player or player's pet resilience (-1%)
uint32 GetCritDamageReduction(uint32 damage) const { return GetCombatRatingDamageReduction(CR_RESILIENCE_CRIT_TAKEN, 2.2f, 33.0f, damage); }
-
- // player or player's pet resilience (-1%), cap 100%
uint32 GetDamageReduction(uint32 damage) const { return GetCombatRatingDamageReduction(CR_RESILIENCE_PLAYER_DAMAGE_TAKEN, 2.0f, 100.0f, damage); }
void ApplyResilience(const Unit* victim, int32 * damage, bool isCrit) const;