diff --git a/Modules/Config/DefenseSection.lua b/Modules/Config/DefenseSection.lua index 50303f1..c2a5177 100755 --- a/Modules/Config/DefenseSection.lua +++ b/Modules/Config/DefenseSection.lua @@ -44,7 +44,7 @@ function _Config:LoadDefenseSection() }, meleeCritReduction = { type = "toggle", - order = 1.81, + order = 2, name = function() return i18n("Melee Crit Reduction") end, desc = function() return i18n("Shows/Hides the reduction percentage of being critically hit by melee attacks.") end, width = 1.5, @@ -57,7 +57,7 @@ function _Config:LoadDefenseSection() }, rangedCritReduction = { type = "toggle", - order = 1.82, + order = 2.1, name = function() return i18n("Ranged Crit Reduction") end, desc = function() return i18n("Shows/Hides the reduction percentage of being critically hit by ranged attacks.") end, width = 1.5, @@ -70,7 +70,7 @@ function _Config:LoadDefenseSection() }, spellCritReduction = { type = "toggle", - order = 1.83, + order = 2.2, name = function() return i18n("Spell Crit Reduction") end, desc = function() return i18n("Shows/Hides the reduction percentage of being critically hit by spells.") end, width = 1.5, @@ -83,7 +83,7 @@ function _Config:LoadDefenseSection() }, avoidance = { type = "toggle", - order = 1.85, + order = 3, name = function() return i18n("Avoidance") end, desc = function() return i18n("Shows/Hides the total avoidance.") end, width = 1.5, @@ -96,7 +96,7 @@ function _Config:LoadDefenseSection() }, avoidanceBoss = { type = "toggle", - order = 1.86, + order = 3.1, name = function() return i18n("Avoidance (Lvl +3)") end, desc = function() return i18n("Shows/Hides the total avoidance (Lvl +3).") end, width = 1.5, @@ -109,7 +109,7 @@ function _Config:LoadDefenseSection() }, defenseRating = { type = "toggle", - order = 1.9, + order = 4, name = function() return i18n("Defense Rating") end, desc = function() return i18n("Shows/Hides the defense rating.") end, width = 1.5, @@ -123,7 +123,7 @@ function _Config:LoadDefenseSection() }, defense = { type = "toggle", - order = 2, + order = 4.1, name = function() return i18n("Defense") end, desc = function() return i18n("Shows/Hides the defense value.") end, width = 1.5, @@ -134,9 +134,23 @@ function _Config:LoadDefenseSection() Stats.RebuildStatInfos() end, }, + blockRating = { + type = "toggle", + order = 5, + name = function() return i18n("Block Rating") end, + desc = function() return i18n("Shows/Hides the block rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end, + get = function () return ExtendedCharacterStats.profile.defense.blockRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.defense.blockRating.display = value + Stats.RebuildStatInfos() + end, + }, blockChance = { type = "toggle", - order = 3, + order = 5.1, name = function() return i18n("Block Chance") end, desc = function() return i18n("Shows/Hides the block chance.") end, width = 1.5, @@ -150,7 +164,7 @@ function _Config:LoadDefenseSection() }, blockValue = { type = "toggle", - order = 4, + order = 5.2, name = function() return i18n("Block Value") end, desc = function() return i18n("Shows/Hides the block value.") end, width = 1.5, @@ -162,9 +176,23 @@ function _Config:LoadDefenseSection() Stats.RebuildStatInfos() end, }, + parryRating = { + type = "toggle", + order = 6, + name = function() return i18n("Parry Rating") end, + desc = function() return i18n("Shows/Hides the parry rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end, + get = function () return ExtendedCharacterStats.profile.defense.parryRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.defense.parryRating.display = value + Stats.RebuildStatInfos() + end, + }, parry = { type = "toggle", - order = 5, + order = 6.1, name = function() return i18n("Parry Chance") end, desc = function() return i18n("Shows/Hides the parry chance.") end, width = 1.5, @@ -176,9 +204,23 @@ function _Config:LoadDefenseSection() Stats.RebuildStatInfos() end, }, + dodgeRating = { + type = "toggle", + order = 7, + name = function() return i18n("Dodge Rating") end, + desc = function() return i18n("Shows/Hides the dodge rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end, + get = function () return ExtendedCharacterStats.profile.defense.dodgeRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.defense.dodgeRating.display = value + Stats.RebuildStatInfos() + end, + }, dodge = { type = "toggle", - order = 6, + order = 7.1, name = function() return i18n("Dodge Chance") end, desc = function() return i18n("Shows/Hides the dodge chance.") end, width = 1.5, @@ -191,15 +233,15 @@ function _Config:LoadDefenseSection() }, resilience = { type = "toggle", - order = 7, - name = function() return i18n("Resilience") end, - desc = function() return i18n("Shows/Hides the resilience value.") end, + order = 8, + name = function() return i18n("Resilience Rating") end, + desc = function() return i18n("Shows/Hides the resilience rating.") end, width = 1.5, hidden = function() return ECS.IsClassic end, disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end, - get = function () return ExtendedCharacterStats.profile.defense.resilience.display; end, + get = function () return ExtendedCharacterStats.profile.defense.resilienceRating.display; end, set = function (_, value) - ExtendedCharacterStats.profile.defense.resilience.display = value + ExtendedCharacterStats.profile.defense.resilienceRating.display = value Stats.RebuildStatInfos() end, }, diff --git a/Modules/Config/MeleeSection.lua b/Modules/Config/MeleeSection.lua index 6568323..f589271 100755 --- a/Modules/Config/MeleeSection.lua +++ b/Modules/Config/MeleeSection.lua @@ -40,9 +40,23 @@ function _Config:LoadMeleeSection() Stats.RebuildStatInfos() end, }, - meleeCrit = { + meleeCritRating = { type = "toggle", order = 2, + name = function() return i18n("Melee Crit. Rating") end, + desc = function() return i18n("Shows/Hides the melee crit. rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end, + get = function () return ExtendedCharacterStats.profile.melee.critRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.melee.critRating.display = value + Stats.RebuildStatInfos() + end, + }, + meleeCrit = { + type = "toggle", + order = 2.1, name = function() return i18n("Melee Crit") end, desc = function() return i18n("Shows/Hides the melee crit chance.") end, width = 1.5, diff --git a/Modules/Config/RangeSection.lua b/Modules/Config/RangeSection.lua index 56a5213..b31062c 100755 --- a/Modules/Config/RangeSection.lua +++ b/Modules/Config/RangeSection.lua @@ -41,9 +41,23 @@ function _Config:LoadRangeSection() Stats.RebuildStatInfos() end, }, - rangeCrit = { + rangedCritRating = { type = "toggle", order = 2, + name = function() return i18n("Ranged Crit. Rating") end, + desc = function() return i18n("Shows/Hides the ranged crit. rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end, + get = function () return ExtendedCharacterStats.profile.ranged.critRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.ranged.critRating.display = value + Stats.RebuildStatInfos() + end, + }, + rangeCrit = { + type = "toggle", + order = 2.1, name = function() return i18n("Ranged Crit") end, desc = function() return i18n("Shows/Hides the ranged crit chance.") end, width = 1.5, diff --git a/Modules/Config/SpellSection.lua b/Modules/Config/SpellSection.lua index 3e971d7..f55a387 100755 --- a/Modules/Config/SpellSection.lua +++ b/Modules/Config/SpellSection.lua @@ -27,9 +27,23 @@ function _Config:LoadSpellSection() Stats.RebuildStatInfos() end, }, - spellCrit = { + spellCritRating = { type = "toggle", order = 1, + name = function() return i18n("Spell Crit. Rating") end, + desc = function() return i18n("Shows/Hides the spell crit. rating.") end, + width = 1.5, + hidden = function() return ECS.IsClassic end, + disabled = function() return (not ExtendedCharacterStats.profile.spell.display); end, + get = function () return ExtendedCharacterStats.profile.spell.critRating.display; end, + set = function (_, value) + ExtendedCharacterStats.profile.spell.critRating.display = value + Stats.RebuildStatInfos() + end, + }, + spellCrit = { + type = "toggle", + order = 1.1, name = function() return i18n("Spell Crit") end, desc = function() return i18n("Shows/Hides the spell crit chance.") end, width = 1.5, diff --git a/Modules/Data/Data.lua b/Modules/Data/Data.lua index 4d1f3fe..af0e75f 100755 --- a/Modules/Data/Data.lua +++ b/Modules/Data/Data.lua @@ -21,6 +21,7 @@ dataFunctionRefs = { ["MovementSpeed"] = function() return Data:GetMovementSpeed() end, -- Melee ["MeleeAttackPower"] = function() return Data:GetMeleeAttackPower() end, + ["MeleeCritRating"] = function() return ECS.IsClassic and 0 or Data:GetMeleeCritRating() end, ["MeleeCritChance"] = function() return Data:MeleeCrit() end, ["Expertise"] = function() return ECS.IsClassic and 0 or Data:GetExpertise() end, ["ExpertiseRating"] = function() return ECS.IsClassic and 0 or Data:GetExpertiseRating() end, @@ -43,6 +44,7 @@ dataFunctionRefs = { ["MeleeAttackSpeedOffHand"] = function() return Data:GetMeleeAttackSpeedOffHand() end, -- Ranged ["RangeAttackpower"] = function() return Data:GetRangeAttackPower() end, + ["RangedCritRating"] = function() return ECS.IsClassic and 0 or Data:GetRangedCritRating() end, ["RangedCritChance"] = function() return Data:RangedCrit() end, ["RangedHitRating"] = function() return ECS.IsClassic and 0 or Data:RangeHitRating() end, ["RangedHitBonus"] = function() return Data:RangeHitBonus() end, @@ -62,16 +64,20 @@ dataFunctionRefs = { ["AvoidanceBoss"] = function() return Data:GetAvoidance(enemyLevel) end, ["DefenseRating"] = function() return ECS.IsClassic and 0 or Data:GetDefenseRating() end, ["DefenseValue"] = function() return Data:GetDefenseValue() end, + ["DodgeRating"] = function() return ECS.IsClassic and 0 or Data:GetDodgeRating() end, ["DodgeChance"] = function() return Data:GetDodgeChance() end, + ["ParryRating"] = function() return ECS.IsClassic and 0 or Data:GetParryRating() end, ["ParryChance"] = function() return Data:GetParryChance() end, + ["BlockRating"] = function() return ECS.IsClassic and 0 or Data:GetBlockRating() end, ["BlockChance"] = function() return Data:GetBlockChance() end, ["BlockValue"] = function() return Data:GetBlockValue() end, - ["ResilienceValue"] = function() return ECS.IsClassic and 0 or Data:GetResilienceRating() end, + ["ResilienceRating"] = function() return ECS.IsClassic and 0 or Data:GetResilienceRating() end, -- Spell ["SpellHitRating"] = function() return ECS.IsClassic and 0 or Data:SpellHitRating() end, ["SpellHitBonus"] = function() return Data.SpellHitBonus(Data.HOLY_SCHOOL) end, ["SpellHitSameLevel"] = function() return Data:SpellMissChanceSameLevel(Data.HOLY_SCHOOL) end, ["SpellHitBossLevel"] = function() return Data:SpellMissChanceBossLevel(Data.HOLY_SCHOOL) end, + ["SpellCritRating"] = function() return ECS.IsClassic and 0 or Data:GetSpellCritRating() end, ["SpellCritChance"] = function() return Data:GetSpellCrit(Data.HOLY_SCHOOL) end, ["SpellHasteRating"] = function() return ECS.IsClassic and 0 or Data:GetSpellHasteRating() end, ["SpellHasteBonus"] = function() return Data:GetSpellHasteBonus() end, diff --git a/Modules/Data/Defense.lua b/Modules/Data/Defense.lua index 0aa2fe2..fd9e05a 100755 --- a/Modules/Data/Defense.lua +++ b/Modules/Data/Defense.lua @@ -218,6 +218,21 @@ function Data:GetResilienceRating() return DataUtils:Round(GetCombatRating(15), 2) end +---@return number +function Data:GetParryRating() + return DataUtils:Round(GetCombatRating(CR_PARRY), 2) +end + +---@return number +function Data:GetDodgeRating() + return DataUtils:Round(GetCombatRating(CR_DODGE), 2) +end + +---@return number +function Data:GetBlockRating() + return DataUtils:Round(GetCombatRating(CR_BLOCK), 2) +end + ---@return number function _Defense:GetEnchantsBlockValue() local mod = 0 diff --git a/Modules/Data/Melee.lua b/Modules/Data/Melee.lua index 5fa29e9..d8fdb74 100755 --- a/Modules/Data/Melee.lua +++ b/Modules/Data/Melee.lua @@ -250,6 +250,12 @@ function Data:GetMeleeHasteRating() return DataUtils:Round(hasteRating, 0) end +---@return number +function Data:GetMeleeCritRating() + local critRating = GetCombatRating(CR_CRIT_MELEE) + return DataUtils:Round(critRating, 0) +end + ---@return string function Data:GetMeleeHasteBonus() local hasteBonus = GetCombatRatingBonus(CR_HASTE_MELEE) diff --git a/Modules/Data/Ranged.lua b/Modules/Data/Ranged.lua index 0d873c5..526a14a 100755 --- a/Modules/Data/Ranged.lua +++ b/Modules/Data/Ranged.lua @@ -120,4 +120,10 @@ function Data.RangeMissChanceBossLevel() return DataUtils:Round(missChance, 2) .. "%" end +---@return number +function Data:GetRangedCritRating() + local critRating = GetCombatRating(CR_CRIT_RANGED) + return DataUtils:Round(critRating, 0) +end + return Data diff --git a/Modules/Data/SpellCrit.lua b/Modules/Data/SpellCrit.lua index 900f77d..08cdd51 100755 --- a/Modules/Data/SpellCrit.lua +++ b/Modules/Data/SpellCrit.lua @@ -163,3 +163,9 @@ end function Data:GetSpellPenetration() return DataUtils:Round(GetSpellPenetration(), 2) end + +---@return number +function Data:GetSpellCritRating() + local critRating = GetCombatRating(CR_CRIT_SPELL) + return DataUtils:Round(critRating, 0) +end \ No newline at end of file diff --git a/Modules/Profile.lua b/Modules/Profile.lua index 9d5a739..ddeca2a 100755 --- a/Modules/Profile.lua +++ b/Modules/Profile.lua @@ -137,7 +137,7 @@ local function GetDefaultStatsProfile() hasteRating = { display = true, refName = "MeleeHasteRating", - text = "Haste Rating", + text = "Haste rating", textColor = colors.HASTE_RATING_SECONDARY, statColor = colors.HASTE_RATING_PRIMARY }, @@ -236,14 +236,14 @@ local function GetDefaultStatsProfile() penetrationRating = { display = true, refName = "RangedArmorPenetrationRating", - text = "Armor Pen. Rating", + text = "Armor pen. rating", textColor = colors.ATTACK_SPEED_SECONDARY, statColor = colors.ATTACK_SPEED_PRIMARY, }, hasteRating = { display = true, refName = "RangedHasteRating", - text = "Haste Rating", + text = "Haste rating", textColor = colors.HASTE_RATING_SECONDARY, statColor = colors.HASTE_RATING_PRIMARY }, @@ -546,7 +546,7 @@ local function GetDefaultStatsProfile() hasteRating = { display = true, refName = "SpellHasteRating", - text = "Haste Rating", + text = "Haste rating", textColor = colors.HASTE_RATING_SECONDARY, statColor = colors.HASTE_RATING_PRIMARY }, diff --git a/Modules/Stats.lua b/Modules/Stats.lua index 65c38d7..dbdae10 100755 --- a/Modules/Stats.lua +++ b/Modules/Stats.lua @@ -216,6 +216,7 @@ _CreateStatInfos = function() _CreateStatInfo( category, category.attackPower, + ECS.IsClassic and nil or category.critRating, category.crit, ECS.IsWotlk and category.penetrationRating or nil, ECS.IsClassic and nil or category.penetration, @@ -246,6 +247,7 @@ _CreateStatInfos = function() _CreateStatInfo( category, category.attackPower, + ECS.IsClassic and nil or category.critRating, category.crit, ECS.IsWotlk and category.penetrationRating or nil, ECS.IsClassic and nil or category.penetration, @@ -305,6 +307,7 @@ _CreateStatInfos = function() ECS.IsClassic and nil or category.penetration, spellBonus.bonusHealing, ECS.IsClassic and nil or spellHit.rating, + ECS.IsClassic and nil or spellCrit.rating, spell.arcane.display and spellBonus.arcaneDmg or nil, spell.arcane.display and spellCrit.display and spellCrit.arcane or nil, spell.arcane.display and spellHit.bonus.display and spellHit.arcaneHitBonus or nil, diff --git a/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua b/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua index 8d2a36c..9be3c1e 100644 --- a/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua +++ b/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua @@ -2,6 +2,46 @@ local i18n = ECSLoader:ImportModule("i18n") local defenseConfigTranslations = { + ["Parry Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Dodge Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Block Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Resilience Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Melee Crit Reduction"] = { ["enUS"] = true, ["deDE"] = false, @@ -182,6 +222,46 @@ local defenseConfigTranslations = { ["esMX"] = false, ["ptBR"] = false }, + ["Shows/Hides the resilience rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the parry rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the dodge rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the block rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, } for k, v in pairs(defenseConfigTranslations) do diff --git a/Modules/i18n/translations/ConfigTranslations/MeleeConfigTranslations.lua b/Modules/i18n/translations/ConfigTranslations/MeleeConfigTranslations.lua index 57db826..5a328c5 100644 --- a/Modules/i18n/translations/ConfigTranslations/MeleeConfigTranslations.lua +++ b/Modules/i18n/translations/ConfigTranslations/MeleeConfigTranslations.lua @@ -361,7 +361,27 @@ local meleeConfigTranslations = { ["esES"] = "Muestra/oculta todas las estadísticas de golpes de refilón", ["esMX"] = "Muestra/oculta todas las estadísticas de golpes de refilón", ["ptBR"] = "Mostra/oculta todas as estatísticas de pancada de relance" - } + }, + ["Melee Crit. Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the melee crit. rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, } for k, v in pairs(meleeConfigTranslations) do diff --git a/Modules/i18n/translations/ConfigTranslations/RangedConfigTranslations.lua b/Modules/i18n/translations/ConfigTranslations/RangedConfigTranslations.lua index f857687..db72929 100644 --- a/Modules/i18n/translations/ConfigTranslations/RangedConfigTranslations.lua +++ b/Modules/i18n/translations/ConfigTranslations/RangedConfigTranslations.lua @@ -161,6 +161,26 @@ local rangedConfigTranslations = { ["esMX"] = "Muestra/oculta la probabilidad de fallo contra jefes (nivel +3)", ["ptBR"] = "Mostra/oculta a chance de erro contra chefes (nível +3)" }, + ["Ranged Crit. Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the ranged crit. rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, } for k, v in pairs(rangedConfigTranslations) do diff --git a/Modules/i18n/translations/ConfigTranslations/SpellConfigTranslations.lua b/Modules/i18n/translations/ConfigTranslations/SpellConfigTranslations.lua index 9fd59d0..b9f5289 100644 --- a/Modules/i18n/translations/ConfigTranslations/SpellConfigTranslations.lua +++ b/Modules/i18n/translations/ConfigTranslations/SpellConfigTranslations.lua @@ -222,6 +222,26 @@ local spellConfigTranslations = { ["esMX"] = "Muestra/oculta el valor de poder de sanación", ["ptBR"] = "Mostra/oculta o valor de poder de cura" }, + ["Spell Crit. Rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Shows/Hides the spell crit. rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, } for k, v in pairs(spellConfigTranslations) do diff --git a/Modules/i18n/translations/StatTranslations.lua b/Modules/i18n/translations/StatTranslations.lua index 6bf9140..cf824ad 100644 --- a/Modules/i18n/translations/StatTranslations.lua +++ b/Modules/i18n/translations/StatTranslations.lua @@ -42,6 +42,16 @@ local statTranslations = { ["esMX"] = "Poder de ataque", ["ptBR"] = "Poder de ataque" }, + ["Melee crit. rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Crit Chance"] = { ["enUS"] = true, ["deDE"] = "Kritische Chance", @@ -62,7 +72,7 @@ local statTranslations = { ["esMX"] = "Penetración de armadura", ["ptBR"] = "Penetração em Armadura" }, - ["Armor Pen. Rating"] = { + ["Armor pen. rating"] = { ["enUS"] = true, ["deDE"] = "Rüstungsdurchschlagwertung", ["frFR"] = "Score de pénétration d'armure", @@ -82,7 +92,7 @@ local statTranslations = { ["esMX"] = "Pericia", ["ptBR"] = "Aptidão" }, - ["Expertise Rating"] = { + ["Expertise rating"] = { ["enUS"] = true, ["deDE"] = "Waffenkundewertung", ["frFR"] = "Score d'expertise", @@ -192,7 +202,7 @@ local statTranslations = { ["esMX"] = "Daño (Niv. + 3)", ["ptBR"] = "Dano (Nív. + 3)" }, - ["Haste Rating"] = { + ["Haste rating"] = { ["enUS"] = true, ["deDE"] = "Tempowertung", ["frFR"] = "Score de hâte", @@ -252,6 +262,16 @@ local statTranslations = { ["esMX"] = "A distancia", ["ptBR"] = "Longo alcance" }, + ["Ranged crit. rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Armor"] = { ["enUS"] = true, ["deDE"] = "Rüstung", @@ -302,7 +322,7 @@ local statTranslations = { ["esMX"] = "Eludir (Niv. +3)", ["ptBR"] = "Evasiva (Nív. +3)" }, - ["Defense Rating"] = { + ["Defense rating"] = { ["enUS"] = true, ["deDE"] = "Verteidigungswertung", ["frFR"] = "Score de défense", @@ -322,6 +342,36 @@ local statTranslations = { ["esMX"] = "Defensa", ["ptBR"] = "Defesa" }, + ["Parry rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Dodge rating."] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, + ["Block rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Block Chance"] = { ["enUS"] = true, ["deDE"] = "Blockchance", @@ -362,6 +412,16 @@ local statTranslations = { ["esMX"] = "Probabilidad de esquivar", ["ptBR"] = "Chance de esquivar" }, + ["Resilience rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Resilience"] = { ["enUS"] = true, ["deDE"] = "Abhärtung", @@ -442,6 +502,16 @@ local statTranslations = { ["esMX"] = "Hechizo", ["ptBR"] = "Feitiço" }, + ["Spell crit. rating"] = { + ["enUS"] = true, + ["deDE"] = false, + ["frFR"] = false, + ["zhCN"] = false, + ["ruRU"] = false, + ["esES"] = false, + ["esMX"] = false, + ["ptBR"] = false, + }, ["Penetration"] = { ["enUS"] = true, ["deDE"] = "Durchschlagskraft",