diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/DataStores/GameTables.h | 39 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 37 |
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); |
