diff --git a/Modules/Config/DefenseSection.lua b/Modules/Config/DefenseSection.lua index 2d42f42..d2030d9 100755 --- a/Modules/Config/DefenseSection.lua +++ b/Modules/Config/DefenseSection.lua @@ -42,7 +42,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, @@ -55,7 +55,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, @@ -68,7 +68,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, @@ -81,7 +81,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, @@ -94,7 +94,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, @@ -107,7 +107,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, @@ -149,7 +163,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, @@ -160,9 +174,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, @@ -173,9 +201,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, @@ -188,17 +230,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 (not ECS.IsWotlk) - end, + 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 19c4a90..afb9faf 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 591e33c..7c277b8 100755 --- a/Modules/Config/RangeSection.lua +++ b/Modules/Config/RangeSection.lua @@ -40,9 +40,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 d026e2b..56f1c30 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 7cfb50b..a460ce2 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() if ECS.IsWotlk then @@ -85,6 +86,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() if ECS.IsWotlk then @@ -140,17 +142,14 @@ dataFunctionRefs = { end 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() - if ECS.IsWotlk then - return Data:GetResilienceRating() - else - return 0 - end - end, + ["ResilienceRating"] = function() return ECS.IsClassic and 0 or Data:GetResilienceRating() end, -- Spell ["SpellHitRating"] = function() if ECS.IsWotlk then @@ -162,6 +161,7 @@ dataFunctionRefs = { ["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() if ECS.IsWotlk then diff --git a/Modules/Data/Defense.lua b/Modules/Data/Defense.lua index f50d2f2..f05036a 100755 --- a/Modules/Data/Defense.lua +++ b/Modules/Data/Defense.lua @@ -234,6 +234,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 e0f36cc..93172cf 100755 --- a/Modules/Data/Melee.lua +++ b/Modules/Data/Melee.lua @@ -277,6 +277,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 957571d..87a5b92 100755 --- a/Modules/Data/Ranged.lua +++ b/Modules/Data/Ranged.lua @@ -144,4 +144,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 2d6569e..2b21bef 100755 --- a/Modules/Data/SpellCrit.lua +++ b/Modules/Data/SpellCrit.lua @@ -185,3 +185,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 2739d36..2833c59 100755 --- a/Modules/Profile.lua +++ b/Modules/Profile.lua @@ -128,12 +128,12 @@ local function GetDefaultStatsProfile() statColor = colors.ATTACK_SPEED_PRIMARY, }, expertise = {display = true, isTbcOnly = true, refName = "Expertise", text = "Expertise"}, - expertiseRating = {display = true, isTbcOnly = true, refName = "ExpertiseRating", text = "Expertise Rating"}, + expertiseRating = {display = true, isTbcOnly = true, refName = "ExpertiseRating", text = "Expertise rating"}, hasteRating = { display = true, isTbcOnly = true, refName = "MeleeHasteRating", - text = "Haste Rating", + text = "Haste rating", textColor = colors.HASTE_RATING_SECONDARY, statColor = colors.HASTE_RATING_PRIMARY }, @@ -236,7 +236,7 @@ local function GetDefaultStatsProfile() display = true, isTbcOnly = true, refName = "RangedArmorPenetrationRating", - text = "Armor Pen. Rating", + text = "Armor pen. rating", textColor = colors.ATTACK_SPEED_SECONDARY, statColor = colors.ATTACK_SPEED_PRIMARY, }, @@ -244,7 +244,7 @@ local function GetDefaultStatsProfile() display = true, isTbcOnly = true, refName = "RangedHasteRating", - text = "Haste Rating", + text = "Haste rating", textColor = colors.HASTE_RATING_SECONDARY, statColor = colors.HASTE_RATING_PRIMARY }, @@ -542,7 +542,7 @@ local function GetDefaultStatsProfile() display = true, isTbcOnly = 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 e10820a..7c100ea 100755 --- a/Modules/Stats.lua +++ b/Modules/Stats.lua @@ -215,12 +215,19 @@ _CreateStatInfos = function() _CreateStatInfo(category, category.movementSpeed) category = profile.melee - if ECS.IsWotlk then - _CreateStatInfo(category, category.attackPower, category.crit, category.penetration, category.penetrationRating, category.expertise, - category.expertiseRating, category.hasteRating, category.hasteBonus) - else - _CreateStatInfo(category, category.attackPower, category.crit) - end + _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, + ECS.IsClassic and nil or category.expertiseRating, + ECS.IsClassic and nil or category.expertise, + ECS.IsClassic and nil or category.hasteRating, + category.hasteBonus + ) + if category.display then category = category.hit _CreateStatInfo(category, category.rating, category.bonus, category.sameLevel, category.bossLevel) @@ -235,12 +242,17 @@ _CreateStatInfos = function() end category = profile.ranged - if ECS.IsWotlk then - _CreateStatInfo(category, category.attackPower, category.crit, category.penetration, category.penetrationRating, - category.hasteRating, category.hasteBonus, category.attackSpeed) - else - _CreateStatInfo(category, category.attackPower, category.crit, category.attackSpeed) - end + _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, + ECS.IsClassic and nil or category.hasteRating, + category.hasteBonus, + category.attackSpeed + ) if category.display then category = category.hit @@ -248,88 +260,78 @@ _CreateStatInfos = function() end category = profile.defense - _CreateStatInfo(category, category.armor, category.meleeCritReduction, category.rangedCritReduction, category.spellCritReduction, category.avoidance, category.avoidanceBoss, - category.defenseRating, category.defense, category.blockChance, category.blockValue, category.parry, category.dodge, category.resilience) + _CreateStatInfo( + category, + category.armor, + category.meleeCritReduction, + category.rangedCritReduction, + category.spellCritReduction, + category.avoidance, + category.avoidanceBoss, + ECS.IsClassic and nil or category.defenseRating, + category.defense, + ECS.IsClassic and nil or category.blockRating, + category.blockChance, + category.blockValue, + ECS.IsClassic and nil or category.parryRating, + category.parry, + ECS.IsClassic and nil or category.dodgeRating, + category.dodge, + ECS.IsClassic and nil or category.resilienceRating + ) category = profile.regen _CreateStatInfo(category, category.mp5Items, category.mp5Spirit, category.mp5Buffs, category.mp5Casting, category.mp5NotCasting) - category = profile.spell - if ECS.IsWotlk then - _CreateStatInfo(category, category.hasteRating, category.hasteBonus, category.penetration) - - if category.display then - category = category.hit - _CreateStatInfo(category, category.rating, category.bonus, category.sameLevel, category.bossLevel) - end - - category = profile.spellBonus - local spell = profile.spell - local spellCrit = spell.crit - _CreateStatInfo( - category, - category.bonusHealing, - spell.arcane.display and category.arcaneDmg or nil, - spell.arcane.display and spellCrit.arcane or nil, - spell.fire.display and category.fireDmg or nil, - spell.fire.display and spellCrit.fire or nil, - spell.frost.display and category.frostDmg or nil, - spell.frost.display and spellCrit.frost or nil, - spell.holy.display and category.holyDmg or nil, - spell.holy.display and spellCrit.holy or nil, - spell.nature.display and category.natureDmg or nil, - spell.nature.display and spellCrit.nature or nil, - spell.physical.display and category.physicalDmg or nil, - spell.physical.display and spellCrit.physical or nil, - spell.shadow.display and category.shadowDmg or nil, - spell.shadow.display and spellCrit.shadow or nil - ) - else - local spellBonus = profile.spellBonus - local spell = profile.spell - local spellCrit = spell.crit - local spellHit = spell.hit - _CreateStatInfo( - category, - category.penetration, - spellBonus.bonusHealing, - 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, - spell.arcane.display and spellHit.sameLevel.display and spellHit.arcaneMissChance or nil, - spell.arcane.display and spellHit.bossLevel.display and spellHit.arcaneMissChanceBoss or nil, - spell.fire.display and spellBonus.fireDmg or nil, - spell.fire.display and spellCrit.display and spellCrit.fire or nil, - spell.fire.display and spellHit.bonus.display and spellHit.fireHitBonus or nil, - spell.fire.display and spellHit.sameLevel.display and spellHit.fireMissChance or nil, - spell.fire.display and spellHit.bossLevel.display and spellHit.fireMissChanceBoss or nil, - spell.frost.display and spellBonus.frostDmg or nil, - spell.frost.display and spellCrit.display and spellCrit.frost or nil, - spell.frost.display and spellHit.bonus.display and spellHit.frostHitBonus or nil, - spell.frost.display and spellHit.sameLevel.display and spellHit.frostMissChance or nil, - spell.frost.display and spellHit.bossLevel.display and spellHit.frostMissChanceBoss or nil, - spell.holy.display and spellBonus.holyDmg or nil, - spell.holy.display and spellCrit.display and spellCrit.holy or nil, - spell.holy.display and spellHit.bonus.display and spellHit.holyHitBonus or nil, - spell.holy.display and spellHit.sameLevel.display and spellHit.holyMissChance or nil, - spell.holy.display and spellHit.bossLevel.display and spellHit.holyMissChanceBoss or nil, - spell.nature.display and spellBonus.natureDmg or nil, - spell.nature.display and spellCrit.display and spellCrit.nature or nil, - spell.nature.display and spellHit.bonus.display and spellHit.natureHitBonus or nil, - spell.nature.display and spellHit.sameLevel.display and spellHit.natureMissChance or nil, - spell.nature.display and spellHit.bossLevel.display and spellHit.natureMissChanceBoss or nil, - spell.physical.display and spellBonus.physicalDmg or nil, - spell.physical.display and spellCrit.display and spellCrit.physical or nil, - spell.physical.display and spellHit.bonus.display and spellHit.physicalHitBonus or nil, - spell.physical.display and spellHit.sameLevel.display and spellHit.physicalMissChance or nil, - spell.physical.display and spellHit.bossLevel.display and spellHit.physicalMissChanceBoss or nil, - spell.shadow.display and spellBonus.shadowDmg or nil, - spell.shadow.display and spellCrit.display and spellCrit.shadow or nil, - spell.shadow.display and spellHit.bonus.display and spellHit.shadowHitBonus or nil, - spell.shadow.display and spellHit.sameLevel.display and spellHit.shadowMissChance or nil, - spell.shadow.display and spellHit.bossLevel.display and spellHit.shadowMissChanceBoss or nil - ) - end + local spellBonus = profile.spellBonus + local spell = profile.spell + local spellCrit = spell.crit + local spellHit = spell.hit + _CreateStatInfo( + category, + ECS.IsClassic and nil or category.hasteRating, + ECS.IsClassic and nil or category.hasteBonus, + ECS.IsClassic and nil or category.penetrationRating, + 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, + spell.arcane.display and spellHit.sameLevel.display and spellHit.arcaneMissChance or nil, + spell.arcane.display and spellHit.bossLevel.display and spellHit.arcaneMissChanceBoss or nil, + spell.fire.display and spellBonus.fireDmg or nil, + spell.fire.display and spellCrit.display and spellCrit.fire or nil, + spell.fire.display and spellHit.bonus.display and spellHit.fireHitBonus or nil, + spell.fire.display and spellHit.sameLevel.display and spellHit.fireMissChance or nil, + spell.fire.display and spellHit.bossLevel.display and spellHit.fireMissChanceBoss or nil, + spell.frost.display and spellBonus.frostDmg or nil, + spell.frost.display and spellCrit.display and spellCrit.frost or nil, + spell.frost.display and spellHit.bonus.display and spellHit.frostHitBonus or nil, + spell.frost.display and spellHit.sameLevel.display and spellHit.frostMissChance or nil, + spell.frost.display and spellHit.bossLevel.display and spellHit.frostMissChanceBoss or nil, + spell.holy.display and spellBonus.holyDmg or nil, + spell.holy.display and spellCrit.display and spellCrit.holy or nil, + spell.holy.display and spellHit.bonus.display and spellHit.holyHitBonus or nil, + spell.holy.display and spellHit.sameLevel.display and spellHit.holyMissChance or nil, + spell.holy.display and spellHit.bossLevel.display and spellHit.holyMissChanceBoss or nil, + spell.nature.display and spellBonus.natureDmg or nil, + spell.nature.display and spellCrit.display and spellCrit.nature or nil, + spell.nature.display and spellHit.bonus.display and spellHit.natureHitBonus or nil, + spell.nature.display and spellHit.sameLevel.display and spellHit.natureMissChance or nil, + spell.nature.display and spellHit.bossLevel.display and spellHit.natureMissChanceBoss or nil, + spell.physical.display and spellBonus.physicalDmg or nil, + spell.physical.display and spellCrit.display and spellCrit.physical or nil, + spell.physical.display and spellHit.bonus.display and spellHit.physicalHitBonus or nil, + spell.physical.display and spellHit.sameLevel.display and spellHit.physicalMissChance or nil, + spell.physical.display and spellHit.bossLevel.display and spellHit.physicalMissChanceBoss or nil, + spell.shadow.display and spellBonus.shadowDmg or nil, + spell.shadow.display and spellCrit.display and spellCrit.shadow or nil, + spell.shadow.display and spellHit.bonus.display and spellHit.shadowHitBonus or nil, + spell.shadow.display and spellHit.sameLevel.display and spellHit.shadowMissChance or nil, + spell.shadow.display and spellHit.bossLevel.display and spellHit.shadowMissChanceBoss or nil + ) end --- Creates a new header in the stats UI diff --git a/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua b/Modules/i18n/translations/ConfigTranslations/DefenseConfigTranslations.lua index 8d2a36c..ac53f08 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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Dodge Rating"] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Block Rating"] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Resilience Rating"] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the parry rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the dodge rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the block rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, } 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..ccf015a 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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the melee crit. rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, } 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..42771fd 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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the ranged crit. rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, } 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..592281f 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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Shows/Hides the spell crit. rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, } for k, v in pairs(spellConfigTranslations) do diff --git a/Modules/i18n/translations/StatTranslations.lua b/Modules/i18n/translations/StatTranslations.lua index 6bf9140..f1683d9 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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Dodge rating."] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, + ["Block rating"] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["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"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["Resilience"] = { ["enUS"] = true, ["deDE"] = "Abhärtung", @@ -442,6 +502,16 @@ local statTranslations = { ["esMX"] = "Hechizo", ["ptBR"] = "Feitiço" }, + ["Spell crit. rating"] = { + ["enUS"] = true, + ["deDE"] = true, + ["frFR"] = true, + ["zhCN"] = true, + ["ruRU"] = true, + ["esES"] = true, + ["esMX"] = true, + ["ptBR"] = true, + }, ["Penetration"] = { ["enUS"] = true, ["deDE"] = "Durchschlagskraft",