aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DataStores/GameTables.h39
-rw-r--r--src/server/game/Entities/Player/Player.cpp37
2 files changed, 37 insertions, 39 deletions
diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h
index 713b8233178..43c893ec13b 100644
--- a/src/server/game/DataStores/GameTables.h
+++ b/src/server/game/DataStores/GameTables.h
@@ -22,7 +22,6 @@
#include "Common.h"
#include <vector>
-enum CombatRating : uint8;
enum InventoryType : uint8;
struct GtBarberShopCostBaseEntry
@@ -388,42 +387,4 @@ inline float GetSpellScalingColumnForClass(GtSpellScalingEntry const* row, int32
return 0.0f;
}
-template<class T>
-inline float GetGameTableColumnForCombatRating(T const* row, CombatRating combatRating)
-{
- switch (combatRating)
- {
- case CR_DEFENSE_SKILL:
- return row->DefenseSkill;
- case CR_DODGE:
- return row->Dodge;
- case CR_PARRY:
- return row->Parry;
- case CR_BLOCK:
- return row->Block;
- case CR_HIT_MELEE:
- return row->HitMelee;
- case CR_HIT_RANGED:
- return row->HitRanged;
- case CR_HIT_SPELL:
- return row->HitSpell;
- case CR_CRIT_MELEE:
- return row->CritMelee;
- case CR_CRIT_RANGED:
- return row->CritRanged;
- case CR_CRIT_SPELL:
- return row->CritSpell;
- case CR_HASTE_MELEE:
- return row->HasteMelee;
- case CR_HASTE_RANGED:
- return row->HasteRanged;
- case CR_HASTE_SPELL:
- return row->HasteSpell;
- default:
- break;
- }
-
- return 0.0f;
-};
-
#endif // GameTables_h__
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 07ec1487a44..05c7c7773b9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5108,6 +5108,43 @@ void Player::GetDodgeFromAgility(float &/*diminishing*/, float &/*nondiminishing
//nondiminishing = 100.0f * (dodge_base[pclass-1] + base_agility * dodgeRatio->ratio * crit_to_dodge[pclass-1]);
}
+inline float GetGameTableColumnForCombatRating(GtCombatRatingsEntry const* row, CombatRating combatRating)
+{
+ switch (combatRating)
+ {
+ case CR_DEFENSE_SKILL:
+ return row->DefenseSkill;
+ case CR_DODGE:
+ return row->Dodge;
+ case CR_PARRY:
+ return row->Parry;
+ case CR_BLOCK:
+ return row->Block;
+ case CR_HIT_MELEE:
+ return row->HitMelee;
+ case CR_HIT_RANGED:
+ return row->HitRanged;
+ case CR_HIT_SPELL:
+ return row->HitSpell;
+ case CR_CRIT_MELEE:
+ return row->CritMelee;
+ case CR_CRIT_RANGED:
+ return row->CritRanged;
+ case CR_CRIT_SPELL:
+ return row->CritSpell;
+ case CR_HASTE_MELEE:
+ return row->HasteMelee;
+ case CR_HASTE_RANGED:
+ return row->HasteRanged;
+ case CR_HASTE_SPELL:
+ return row->HasteSpell;
+ default:
+ break;
+ }
+
+ return 0.0f;
+};
+
float Player::GetRatingMultiplier(CombatRating cr) const
{
float combatRatingRatio = GetGameTableColumnForCombatRating(sCombatRatingsGameTable.GetRow(GetLevel()), cr);