Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2d9acda
lowercase all the strings
Alessandro-Barbieri Feb 23, 2026
cc69ebb
Merge branch 'master' into lowercase
Alessandro-Barbieri Feb 23, 2026
8e69e2a
typo
Alessandro-Barbieri Feb 23, 2026
90ea691
wip
Alessandro-Barbieri Feb 23, 2026
eec325b
wip
Alessandro-Barbieri Feb 23, 2026
1ab3fee
wip
Alessandro-Barbieri Feb 23, 2026
511ade0
Merge branch 'BreakBB:master' into lowercase
Alessandro-Barbieri Feb 23, 2026
bd244f7
reset profile
Alessandro-Barbieri Feb 25, 2026
1a7e980
re-add deleted line
Alessandro-Barbieri Mar 2, 2026
930ae37
end sentences with a full stop
Alessandro-Barbieri Mar 2, 2026
5eb639a
Merge branch 'BreakBB:master' into lowercase
Alessandro-Barbieri Mar 4, 2026
f1fcf83
partial revert
Alessandro-Barbieri Mar 14, 2026
38fa667
partial revert
Alessandro-Barbieri Mar 14, 2026
01c1ccb
partial revert
Alessandro-Barbieri Mar 14, 2026
7e7967f
partial revert
Alessandro-Barbieri Mar 14, 2026
1d9381e
partial revert
Alessandro-Barbieri Mar 14, 2026
ccbd444
partial revert
Alessandro-Barbieri Mar 14, 2026
4471ebd
partial revert
Alessandro-Barbieri Mar 14, 2026
8f5cce9
partial revert
Alessandro-Barbieri Mar 14, 2026
b8116fd
more things
Alessandro-Barbieri Mar 14, 2026
cbfa1a1
leftovers
Alessandro-Barbieri Mar 14, 2026
962bd58
more leftovers
Alessandro-Barbieri Mar 14, 2026
ffee295
more fixes
Alessandro-Barbieri Mar 14, 2026
6e271a7
more
Alessandro-Barbieri Mar 14, 2026
e74923a
remove stray line
Alessandro-Barbieri Mar 14, 2026
669a374
Merge branch 'BreakBB:master' into lowercase
Alessandro-Barbieri Apr 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Modules/Config/Config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ _GeneralTab = function()
addColorsToStatTexts = {
type = "toggle",
order = 2,
name = function() return i18n("Colorize Stats") end,
name = function() return i18n("Colorize stats") end,
desc = function() return i18n("Adds colors to the stats overview.") end,
width = "full",
get = function () return ExtendedCharacterStats.general.addColorsToStatTexts; end,
Expand All @@ -95,7 +95,7 @@ _GeneralTab = function()
},
style = "dropdown",
disabled = function() return (not ExtendedCharacterStats.general.addColorsToStatTexts) end,
name = function() return i18n("Stats colorization") end,
name = function() return i18n("Stats Colorization") end,
get = function()
if (not ExtendedCharacterStats.general.statColorSelection) then
return "full"
Expand All @@ -111,7 +111,7 @@ _GeneralTab = function()
showQualityColors = {
type = "toggle",
order = 3,
name = function() return i18n("Show Item Quality Colors") end,
name = function() return i18n("Show item quality colors") end,
desc = function() return i18n("Shows/Hides the colored frames around equipped items.") end,
width = "full",
get = function () return ExtendedCharacterStats.general.showQualityColors; end,
Expand Down Expand Up @@ -139,7 +139,7 @@ _GeneralTab = function()
type = "range",
order = 5,
name = function() return i18n("Header Font Size") end,
desc = function() return i18n("Changes the font size of the headers (e.g. Melee)") end,
desc = function() return i18n("Changes the font size of the headers (e.g. Melee).") end,
width = "double",
min = 8,
max = 18,
Expand All @@ -154,7 +154,7 @@ _GeneralTab = function()
type = "range",
order = 6,
name = function() return i18n("Stat Font Size") end,
desc = function() return i18n("Changes the font size of the stat lines (e.g. Crit)") end,
desc = function() return i18n("Changes the font size of the stat lines (e.g. Crit.).") end,
width = "double",
min = 8,
max = 18,
Expand All @@ -169,7 +169,7 @@ _GeneralTab = function()
type = "range",
order = 7,
name = function() return i18n("Window Width") end,
desc = function() return i18n("Changes the width of the stats window") end,
desc = function() return i18n("Changes the width of the stats window.") end,
width = "double",
min = 12,
max = 25,
Expand Down
8 changes: 4 additions & 4 deletions Modules/Config/DefenseSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function _Config:LoadDefenseSection()
showDefenseStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show Defense Stats") end,
name = function() return i18n("Show defense stats") end,
desc = function() return i18n("Shows/Hides all defense stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.defense.display; end,
Expand All @@ -45,7 +45,7 @@ function _Config:LoadDefenseSection()
meleeCritReduction = {
type = "toggle",
order = 1.81,
name = function() return i18n("Melee Crit Reduction") end,
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,
disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end,
Expand All @@ -58,7 +58,7 @@ function _Config:LoadDefenseSection()
rangedCritReduction = {
type = "toggle",
order = 1.82,
name = function() return i18n("Ranged Crit Reduction") end,
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,
disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end,
Expand All @@ -71,7 +71,7 @@ function _Config:LoadDefenseSection()
spellCritReduction = {
type = "toggle",
order = 1.83,
name = function() return i18n("Spell Crit Reduction") end,
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,
disabled = function() return (not ExtendedCharacterStats.profile.defense.display); end,
Expand Down
4 changes: 2 additions & 2 deletions Modules/Config/GeneralSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ function _Config:LoadGeneralSection()
showGeneralStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show General Stats") end,
name = function() return i18n("Show general stats") end,
desc = function() return i18n("Shows/Hides all general stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.general.display; end,
Expand All @@ -30,7 +30,7 @@ function _Config:LoadGeneralSection()
movementSpeed = {
type = "toggle",
order = 1,
name = function() return i18n("Show Movement Speed") end,
name = function() return i18n("Show movement speed") end,
desc = function() return i18n("Shows/Hides the movement speed value.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.general.display); end,
Expand Down
2 changes: 1 addition & 1 deletion Modules/Config/ManaSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function _Config:LoadManaSection()
showManaStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show Mana Stats") end,
name = function() return i18n("Show mana stats") end,
desc = function() return i18n("Shows/Hides all mana stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.regen.display; end,
Expand Down
8 changes: 4 additions & 4 deletions Modules/Config/MeleeSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ function _Config:LoadMeleeSection()
showMeleeStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show Melee Stats") end,
name = function() return i18n("Show melee stats") end,
desc = function() return i18n("Shows/Hides all melee stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.melee.display; end,
Expand All @@ -43,8 +43,8 @@ function _Config:LoadMeleeSection()
meleeCrit = {
type = "toggle",
order = 2,
name = function() return i18n("Melee Crit") end,
desc = function() return i18n("Shows/Hides the melee crit chance.") end,
name = function() return i18n("Melee Crit.") end,
desc = function() return i18n("Shows/Hides the melee crit. chance.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.crit.display; end,
Expand Down Expand Up @@ -227,7 +227,7 @@ function _Config:LoadMeleeSection()
type = "toggle",
order = 5,
name = function() return i18n("Glancing Blow") end,
desc = function() return i18n("Shows/Hides all glancing blow stats") end,
desc = function() return i18n("Shows/Hides all glancing blow stats.") end,
width = 1.5,
hidden = function() return ECS.IsWotlk end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
Expand Down
6 changes: 3 additions & 3 deletions Modules/Config/RangeSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function _Config:LoadRangeSection()
showRangeStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show Ranged Stats") end,
name = function() return i18n("Show ranged stats") end,
desc = function() return i18n("Shows/Hides all ranged stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.ranged.display; end,
Expand All @@ -44,8 +44,8 @@ function _Config:LoadRangeSection()
rangeCrit = {
type = "toggle",
order = 2,
name = function() return i18n("Ranged Crit") end,
desc = function() return i18n("Shows/Hides the ranged crit chance.") end,
name = function() return i18n("Ranged Crit.") end,
desc = function() return i18n("Shows/Hides the ranged crit. chance.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end,
get = function () return ExtendedCharacterStats.profile.ranged.crit.display; end,
Expand Down
6 changes: 3 additions & 3 deletions Modules/Config/SpellSection.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ function _Config:LoadSpellSection()
showSpellStats = {
type = "toggle",
order = 0,
name = function() return i18n("Show Spell Stats") end,
name = function() return i18n("Show spell stats") end,
desc = function() return i18n("Shows/Hides all spell stats.") end,
width = 1.5,
get = function () return ExtendedCharacterStats.profile.spell.display; end,
Expand All @@ -30,8 +30,8 @@ function _Config:LoadSpellSection()
spellCrit = {
type = "toggle",
order = 1,
name = function() return i18n("Spell Crit") end,
desc = function() return i18n("Shows/Hides the spell crit chance.") end,
name = function() return i18n("Spell Crit.") end,
desc = function() return i18n("Shows/Hides the spell crit. chance.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.spell.display); end,
get = function () return ExtendedCharacterStats.profile.spell.crit.display; end,
Expand Down
12 changes: 2 additions & 10 deletions Modules/Migration.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,10 @@ local i18n = ECSLoader:ImportModule("i18n")

---@param profileVersion number
function Migration:ToLatestProfileVersion(profileVersion)
if profileVersion < 23 then
if profileVersion < 26 then
---@class ECSProfile
Profile:Reset()
ECS:Print(i18n("Profile has been reset due to a major update.")) -- because of TBC anniversary
return
end

if profileVersion < 24 then
ExtendedCharacterStats.profile.defense.resilienceRating = ExtendedCharacterStats.profile.defense.resilience
ExtendedCharacterStats.profile.defense.resilience = nil
end
if profileVersion < 25 then
ExtendedCharacterStats.profile.defense.resilience = nil
end
end
end
86 changes: 65 additions & 21 deletions Modules/Profile.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ local Utils = ECSLoader:ImportModule("Utils")

---@return number
function Profile.GetProfileVersion()
return 25
return 26
end

---@return ECSProfile
Expand All @@ -19,7 +19,11 @@ local function GetDefaultStatsProfile()
refName = "GeneralHeader",
text = "General",

movementSpeed = {display = true, refName = "MovementSpeed", text = "Movement Speed"},
movementSpeed = {
display = true,
refName = "MovementSpeed",
text = "Movement Speed"
},
},

melee = {
Expand Down Expand Up @@ -106,7 +110,7 @@ local function GetDefaultStatsProfile()
crit = {
display = true,
refName = "MeleeCritChance",
text = "Crit Chance",
text = "Crit. Chance",
textColor = colors.CRIT_SECONDARY,
statColor = colors.CRIT_PRIMARY
},
Expand Down Expand Up @@ -222,7 +226,7 @@ local function GetDefaultStatsProfile()
crit = {
display = true,
refName = "RangedCritChance",
text = "Crit Chance",
text = "Crit. Chance",
textColor = colors.CRIT_SECONDARY,
statColor = colors.CRIT_PRIMARY
},
Expand Down Expand Up @@ -269,21 +273,61 @@ local function GetDefaultStatsProfile()
text = "Defense",

armor = {display = true, refName = "Armor", text = "Armor"},
meleeCritReduction = {display = true, refName = "MeleeCritReduction", text = "Melee Crit Reduction"},
rangedCritReduction = {display = true, refName = "RangedCritReduction", text = "Ranged Crit Reduction"},
spellCritReduction = {display = true, refName = "SpellCritReduction", text = "Spell Crit Reduction"},
avoidance = {display = true, refName = "Avoidance", text = "Avoidance"},
avoidanceBoss = {display = true, refName = "AvoidanceBoss", text = "Avoidance (Lvl +3)"},
meleeCritReduction = {
display = true,
refName = "MeleeCritReduction",
text = "Melee Crit. Reduction"
},
rangedCritReduction = {
display = true,
refName = "RangedCritReduction",
text = "Ranged Crit. Reduction"
},
spellCritReduction = {
display = true,
refName = "SpellCritReduction",
text = "Spell Crit. Reduction"
},
avoidance = {
display = true,
refName = "Avoidance",
text = "Avoidance"
},
avoidanceBoss = {
display = true,
refName = "AvoidanceBoss",
text = "Avoidance (Lvl +3)"
},
defenseRating = {
display = true,
refName = "DefenseRating",
text = "Defense Rating"
},
defense = {display = true, refName = "DefenseValue", text = "Defense"},
blockChance = {display = true, refName = "BlockChance", text = "Block Chance"},
blockValue = {display = true, refName = "BlockValue", text = "Block Value"},
parry = {display = true, refName = "ParryChance", text = "Parry Chance"},
dodge = {display = true, refName = "DodgeChance", text = "Dodge Chance"},
defense = {
display = true,
refName = "DefenseValue",
text = "Defense"
},
blockChance = {
display = true,
refName = "BlockChance",
text = "Block Chance"
},
blockValue = {
display = true,
refName = "BlockValue",
text = "Block Value"
},
parry = {
display = true,
refName = "ParryChance",
text = "Parry Chance"
},
dodge = {
display = true,
refName = "DodgeChance",
text = "Dodge Chance"
},
resilienceRating = {
display = true,
refName = "ResilienceValue",
Expand Down Expand Up @@ -564,49 +608,49 @@ local function GetDefaultStatsProfile()
arcane = {
display = true,
refName = "ArcaneCritChance",
text = "Arcane Crit",
text = "Arcane Crit.",
textColor = colors.ARCANE_SECONDARY,
statColor = colors.ARCANE_PRIMARY
},
fire = {
display = true,
refName = "FireCritChance",
text = "Fire Crit",
text = "Fire Crit.",
textColor = colors.FIRE_SECONDARY,
statColor = colors.FIRE_PRIMARY
},
frost = {
display = true,
refName = "FrostCritChance",
text = "Frost Crit",
text = "Frost Crit.",
textColor = colors.FROST_SECONDARY,
statColor = colors.FROST_PRIMARY
},
holy = {
display = true,
refName = "HolyCritChance",
text = "Holy Crit",
text = "Holy Crit.",
textColor = colors.HOLY_SECONDARY,
statColor = colors.HOLY_PRIMARY
},
nature = {
display = true,
refName = "NatureCritChance",
text = "Nature Crit",
text = "Nature Crit.",
textColor = colors.NATURE_SECONDARY,
statColor = colors.NATURE_PRIMARY
},
physical = {
display = true,
refName = "PhysicalCritChance",
text = "Physical Crit",
text = "Physical Crit.",
textColor = colors.PHYSICAL_SECONDARY,
statColor = colors.PHYSICAL_PRIMARY
},
shadow = {
display = true,
refName = "ShadowCritChance",
text = "Shadow Crit",
text = "Shadow Crit.",
textColor = colors.SHADOW_SECONDARY,
statColor = colors.SHADOW_PRIMARY
},
Expand Down
8 changes: 4 additions & 4 deletions Modules/SlashCommands.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ local function _HandleSlash(msg)
Stats:ToggleWindow()

if Stats:GetFrame():IsShown() then
ECS:Print("The ECS stats window is now visible next to the character frame")
ECS:Print("The ECS stats window is now visible next to the character frame.")
else
ECS:Print("The ECS stats window is now hidden")
ECS:Print("The ECS stats window is now hidden.")
end
elseif cmd == "config" then
Config:ToggleWindow()
else
print(i18n("Available Commands"))
print(i18n("/ecs toggle") .. " - " .. i18n("Toggles the visibility of the stats window"))
print(i18n("/ecs config") .. " - " .. i18n("Shows the configuration window"))
print(i18n("/ecs toggle") .. " - " .. i18n("Toggles the visibility of the stats window."))
print(i18n("/ecs config") .. " - " .. i18n("Shows the configuration window."))
end
end

Expand Down
Loading
Loading