Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f4cf318
data
Alessandro-Barbieri Dec 24, 2025
943f011
enable spell haste for all versions
Alessandro-Barbieri Dec 25, 2025
6d124a2
wip
Alessandro-Barbieri Dec 25, 2025
f3aa2d4
fixes
Alessandro-Barbieri Dec 25, 2025
6445be5
fix
Alessandro-Barbieri Dec 25, 2025
3a6992d
wip
Alessandro-Barbieri Dec 27, 2025
6034f5e
WIP
Alessandro-Barbieri Dec 28, 2025
b44c61c
WIP
Alessandro-Barbieri Dec 28, 2025
6126324
restructure tables
Alessandro-Barbieri Dec 29, 2025
c2a0c88
wip
Alessandro-Barbieri Jan 2, 2026
b7ee2a7
Merge branch 'master' into spell-haste
Alessandro-Barbieri Jan 7, 2026
26c0a9b
Merge branch 'master' into health-regen
Alessandro-Barbieri Jan 7, 2026
31163b7
wip
Alessandro-Barbieri Jan 11, 2026
f3f10cc
wip
Alessandro-Barbieri Jan 11, 2026
b21d12a
wip
Alessandro-Barbieri Jan 13, 2026
6be5436
wip
Alessandro-Barbieri Jan 13, 2026
767c352
wip
Alessandro-Barbieri Jan 13, 2026
adab133
wip
Alessandro-Barbieri Jan 13, 2026
cd8d1d2
wip
Alessandro-Barbieri Jan 13, 2026
5f3a6f8
too many things
Alessandro-Barbieri Jan 16, 2026
acdfad2
add vscode folder to gitignore
Alessandro-Barbieri Jan 16, 2026
ecaa78d
replace deprecated functions
Alessandro-Barbieri Jan 16, 2026
9de8ab8
fix annotations
Alessandro-Barbieri Jan 16, 2026
0c9a618
add draenei passive to ranged hit calculation
Alessandro-Barbieri Jan 18, 2026
de1bc54
wip
Alessandro-Barbieri Jan 18, 2026
41e5410
Update elemental precision talent
Alessandro-Barbieri Jan 19, 2026
5ef1d37
spaces
Alessandro-Barbieri Jan 19, 2026
76668b2
Fix indentation in SpellHit.lua
Alessandro-Barbieri Jan 19, 2026
4fc0b29
then
Alessandro-Barbieri Jan 19, 2026
8439593
spell hit improvements
Alessandro-Barbieri Jan 20, 2026
07eb9e3
fix tbc elemental precision
Alessandro-Barbieri Jan 21, 2026
c11a645
Merge pull request #13 from Alessandro-Barbieri/draenei
Alessandro-Barbieri Jan 22, 2026
6501d2b
Merge pull request #14 from Alessandro-Barbieri/vscode
Alessandro-Barbieri Jan 22, 2026
16a7dfe
Merge pull request #15 from Alessandro-Barbieri/annotations
Alessandro-Barbieri Jan 22, 2026
17e2853
Merge pull request #16 from Alessandro-Barbieri/deprecated
Alessandro-Barbieri Jan 22, 2026
5790988
Merge branch 'master' into helpers
Alessandro-Barbieri Jan 22, 2026
c43e94b
Merge pull request #17 from Alessandro-Barbieri/helpers
Alessandro-Barbieri Jan 22, 2026
9dbc606
Merge branch 'master' into Alessandro-Barbieri-patch-2
Alessandro-Barbieri Jan 22, 2026
cb3b3f5
Merge branch 'master' into Alessandro-Barbieri-patch-1
Alessandro-Barbieri Jan 22, 2026
2af498f
Merge pull request #19 from Alessandro-Barbieri/Alessandro-Barbieri-p…
Alessandro-Barbieri Jan 22, 2026
0eb2d6c
Merge pull request #18 from Alessandro-Barbieri/Alessandro-Barbieri-p…
Alessandro-Barbieri Jan 22, 2026
28a6a44
Merge branch 'master' into health-regen
Alessandro-Barbieri Jan 22, 2026
3d17f22
Merge pull request #20 from Alessandro-Barbieri/health-regen
Alessandro-Barbieri Jan 22, 2026
0719d7b
Merge branch 'master' into spell-haste
Alessandro-Barbieri Jan 22, 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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
# IntelliJ settings
.idea/

# vscode settings
.vscode/

#This is used for the atom build package, enables the build to happen on each save.
.atom-build.yml

Expand Down
5 changes: 5 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,8 @@ stds.ecs = {
"C_Debug.TeleportToMapLocation",
"C_Engraving",
"C_Engraving.GetRuneForEquipmentSlot",
"C_EventUtils",
"C_EventUtils.IsEventValid",
"C_FriendList.AddFriend",
"C_FriendList.AddIgnore",
"C_FriendList.AddOrDelIgnore",
Expand Down Expand Up @@ -563,6 +565,8 @@ stds.ecs = {
"C_UnitAuras",
"C_UnitAuras.GetAuraDataByIndex",
"C_UnitAuras.GetBuffDataByIndex",
"C_UnitAuras.GetDebuffDataByIndex",
"C_UnitAuras.GetPlayerAuraBySpellID",
"C_VideoOptions.GetGxAdapterInfo",
"C_VoiceChat.ActivateChannel",
"C_VoiceChat.BeginLocalCapture",
Expand Down Expand Up @@ -1742,6 +1746,7 @@ stds.ecs = {
"KBSystem_GetServerNotice",
"KBSystem_GetServerStatus",
"LE_EXPANSION_BURNING_CRUSADE",
"LE_UNIT_STAT_SPIRIT",
"LearnTalent",
"LeaveBattlefield",
"LeaveChannelByLocalID",
Expand Down
10 changes: 3 additions & 7 deletions Modules/Config/DefenseSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down Expand Up @@ -111,9 +111,7 @@ function _Config:LoadDefenseSection()
name = function() return i18n("Defense Rating") end,
desc = function() return i18n("Shows/Hides the defense 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.defenseRating.display; end,
set = function (_, value)
Expand Down Expand Up @@ -192,9 +190,7 @@ function _Config:LoadDefenseSection()
name = function() return i18n("Resilience") end,
desc = function() return i18n("Shows/Hides the resilience value.") 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,
set = function (_, value)
Expand Down
2 changes: 1 addition & 1 deletion Modules/Config/GeneralSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down
28 changes: 1 addition & 27 deletions Modules/Config/ManaSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down Expand Up @@ -27,19 +27,6 @@ function _Config:LoadManaSection()
Stats.RebuildStatInfos()
end,
},
mp5Items = {
type = "toggle",
order = 1,
name = function() return i18n("MP5 Items") end,
desc = function() return i18n("Shows/Hides the MP5 value from items.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.regen.display); end,
get = function () return ExtendedCharacterStats.profile.regen.mp5Items.display; end,
set = function (_, value)
ExtendedCharacterStats.profile.regen.mp5Items.display = value
Stats.RebuildStatInfos()
end,
},
mp5Spirit = {
type = "toggle",
order = 2,
Expand All @@ -53,19 +40,6 @@ function _Config:LoadManaSection()
Stats.RebuildStatInfos()
end,
},
mp5Buffs = {
type = "toggle",
order = 3,
name = function() return i18n("MP5 Buffs") end,
desc = function() return i18n("Shows/Hides the MP5 value from buffs.") end,
width = 1.5,
disabled = function() return (not ExtendedCharacterStats.profile.regen.display); end,
get = function () return ExtendedCharacterStats.profile.regen.mp5Buffs.display; end,
set = function (_, value)
ExtendedCharacterStats.profile.regen.mp5Buffs.display = value
Stats.RebuildStatInfos()
end,
},
mp5Casting = {
type = "toggle",
order = 4,
Expand Down
40 changes: 10 additions & 30 deletions Modules/Config/MeleeSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down Expand Up @@ -59,9 +59,6 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Armor Pen.") end,
desc = function() return i18n("Shows/Hides the armor penetration value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.penetration.display; end,
set = function (_, value)
Expand All @@ -75,9 +72,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Armor Pen. Rating") end,
desc = function() return i18n("Shows/Hides the armor penetration rating value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.penetrationRating.display; end,
set = function (_, value)
Expand All @@ -91,9 +86,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Expertise") end,
desc = function() return i18n("Shows/Hides the expertise value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.expertise.display; end,
set = function (_, value)
Expand All @@ -107,9 +100,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Expertise Rating") end,
desc = function() return i18n("Shows/Hides the expertise rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.expertiseRating.display; end,
set = function (_, value)
Expand All @@ -123,9 +114,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Haste Rating") end,
desc = function() return i18n("Shows/Hides the melee haste rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.hasteRating.display; end,
set = function (_, value)
Expand All @@ -139,9 +128,6 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Haste Bonus") end,
desc = function() return i18n("Shows/Hides the melee haste bonus value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.hasteBonus.display; end,
set = function (_, value)
Expand Down Expand Up @@ -174,9 +160,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Hit Rating") end,
desc = function() return i18n("Shows/Hides the melee hit rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function()
return ((not ExtendedCharacterStats.profile.melee.display) or
(not ExtendedCharacterStats.profile.melee.hit.display))
Expand Down Expand Up @@ -243,9 +227,7 @@ function _Config:LoadMeleeSection()
name = function() return i18n("Glancing Blow") end,
desc = function() return i18n("Shows/Hides all glancing blow stats") end,
width = 1.5,
hidden = function()
return (not ECS.IsClassic)
end,
hidden = function() return ECS.IsWotlk end,
disabled = function() return (not ExtendedCharacterStats.profile.melee.display); end,
get = function () return ExtendedCharacterStats.profile.melee.glance.display; end,
set = function (_, value)
Expand All @@ -258,9 +240,7 @@ function _Config:LoadMeleeSection()
order = 6,
inline = true,
name = function() return i18n("Melee Glance Values") end,
hidden = function()
return (not ECS.IsClassic)
end,
hidden = function() return ECS.IsWotlk end,
args = {
meleeGlance = {
type = "toggle",
Expand Down Expand Up @@ -322,7 +302,7 @@ function _Config:LoadMeleeSection()
end,
get = function () return ExtendedCharacterStats.profile.melee.glance.damageBossLevel.display; end,
set = function (_, value)
ExtendedCharacterStats.profile.melee.glance.damageSameLevel.display = value
ExtendedCharacterStats.profile.melee.glance.damageBossLevel.display = value
Stats.RebuildStatInfos()
end,
},
Expand Down Expand Up @@ -383,4 +363,4 @@ function _Config:LoadMeleeSection()
},
},
}
end
end
20 changes: 4 additions & 16 deletions Modules/Config/RangeSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down Expand Up @@ -59,9 +59,6 @@ function _Config:LoadRangeSection()
name = function() return i18n("Armor Pen.") end,
desc = function() return i18n("Shows/Hides the armor penetration value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end,
get = function () return ExtendedCharacterStats.profile.ranged.penetration.display; end,
set = function (_, value)
Expand All @@ -75,9 +72,7 @@ function _Config:LoadRangeSection()
name = function() return i18n("Armor Pen. Rating") end,
desc = function() return i18n("Shows/Hides the armor penetration rating value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end,
get = function () return ExtendedCharacterStats.profile.ranged.penetrationRating.display; end,
set = function (_, value)
Expand All @@ -91,9 +86,7 @@ function _Config:LoadRangeSection()
name = function() return i18n("Haste Rating") end,
desc = function() return i18n("Shows/Hides the ranged haste rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end,
get = function () return ExtendedCharacterStats.profile.ranged.hasteRating.display; end,
set = function (_, value)
Expand All @@ -107,9 +100,6 @@ function _Config:LoadRangeSection()
name = function() return i18n("Haste Bonus") end,
desc = function() return i18n("Shows/Hides the ranged haste bonus value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
disabled = function() return (not ExtendedCharacterStats.profile.ranged.display); end,
get = function () return ExtendedCharacterStats.profile.ranged.hasteBonus.display; end,
set = function (_, value)
Expand Down Expand Up @@ -155,9 +145,7 @@ function _Config:LoadRangeSection()
name = function() return i18n("Hit Rating") end,
desc = function() return i18n("Shows/Hides the ranged hit rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function()
return ((not ExtendedCharacterStats.profile.ranged.display) or
(not ExtendedCharacterStats.profile.ranged.hit.display))
Expand Down
2 changes: 1 addition & 1 deletion Modules/Config/SpellSchoolsSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down
13 changes: 3 additions & 10 deletions Modules/Config/SpellSection.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---@type Config
---@class Config
local Config = ECSLoader:ImportModule("Config")
local _Config = Config.private

Expand Down Expand Up @@ -46,9 +46,7 @@ function _Config:LoadSpellSection()
name = function() return i18n("Haste Rating") end,
desc = function() return i18n("Shows/Hides the spell haste rating value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function() return (not ExtendedCharacterStats.profile.spell.display); end,
get = function () return ExtendedCharacterStats.profile.spell.hasteRating.display; end,
set = function (_, value)
Expand All @@ -62,9 +60,6 @@ function _Config:LoadSpellSection()
name = function() return i18n("Haste Bonus") end,
desc = function() return i18n("Shows/Hides the spell haste bonus value.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
disabled = function() return (not ExtendedCharacterStats.profile.spell.display); end,
get = function () return ExtendedCharacterStats.profile.spell.hasteBonus.display; end,
set = function (_, value)
Expand Down Expand Up @@ -97,9 +92,7 @@ function _Config:LoadSpellSection()
name = function() return i18n("Hit Rating") end,
desc = function() return i18n("Shows/Hides the spell hit rating.") end,
width = 1.5,
hidden = function()
return (not ECS.IsWotlk)
end,
hidden = function() return ECS.IsClassic end,
disabled = function()
return ((not ExtendedCharacterStats.profile.spell.display) or
(not ExtendedCharacterStats.profile.spell.hit.display))
Expand Down
Loading
Loading