Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [6.4.1] - 2025-12-03

### Changed
- 11.2.7 TOC bump.

## [6.4.0] - 2025-10-16

### Added
Expand Down
2 changes: 1 addition & 1 deletion Experiencer2.toc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Interface: 110205
## Interface: 110207
## Title: Experiencer 2.0
## Notes: Simple but advanced tracking progress bar addon.
## Author: DJScias (Original: Sonaza)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Experience bar replacement for World of Warcraft.
Continuation of the old [Experiencer](https://www.curseforge.com/wow/addons/experiencer) updated for Dragonflight and later.

Available on [CurseForge](https://www.curseforge.com/wow/addons/experiencer-2-0), [Wago.io](https://addons.wago.io/addons/experiencer2) and [WoWInterface](https://www.wowinterface.com/downloads/fileinfo.php?id=26805)!
Currently supports: The War Within 11.2.5.
Currently supports: Midnight 12.x.x.

## General description
Experiencer is a minimum configuration required experience bar addon. It tracks multiple progress bar options which can even be split up into three different sections to display multiple data sources simultaneously.
Expand Down
4 changes: 4 additions & 0 deletions core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,10 @@ function Addon:RefreshModule(module, instant)
end

function Addon:RefreshText(module)
if InCombatLockdown() then
return;
end

for _, moduleFrame in Addon:GetModuleFrameIterator() do
if not module or moduleFrame.module == module then
moduleFrame:RefreshText();
Expand Down
24 changes: 22 additions & 2 deletions modules/experience.lua
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ function module:Initialize()
self:RegisterEvent("QUEST_LOG_UPDATE");
self:RegisterEvent("UNIT_INVENTORY_CHANGED");
self:RegisterEvent("UPDATE_EXPANSION_LEVEL");
self:RegisterEvent("PLAYER_REGEN_ENABLED");

module.playerCanLevel = not module:IsPlayerMaxLevel();

Expand Down Expand Up @@ -562,6 +563,8 @@ function module:CHAT_MSG_SYSTEM(_, msg)
end
end

local updateAfterCombat = false;

function module:PLAYER_XP_UPDATE()
local current_xp = UnitXP("player");
local max_xp = UnitXPMax("player");
Expand All @@ -580,11 +583,19 @@ function module:PLAYER_XP_UPDATE()
module.session.QuestsToLevel = ceil(remaining_xp / module.session.AverageQuestXP);
end

module:Refresh();
if not InCombatLockdown() then
module:Refresh();
else
updateAfterCombat = true;
end
end

function module:UPDATE_EXHAUSTION()
module:Refresh();
if not InCombatLockdown() then
module:Refresh();
else
updateAfterCombat = true;
end
end

function module:PLAYER_LEVEL_UP(_, level)
Expand All @@ -602,3 +613,12 @@ function module:PLAYER_LEVEL_UP(_, level)
module.playerCanLevel = true;
end
end

function module:PLAYER_REGEN_ENABLED()
RunNextFrame(function()
if updateAfterCombat then
updateAfterCombat = false;
module:Refresh();
end
end);
end