This repository was archived by the owner on Oct 11, 2026. It is now read-only.
Repository navigation
Release V2.14
2026-09-12
-
Canonical Version Bump to 2.14 (
TAC/lua/triune.lua,README.md,tests/test_pure_logic.lua).- Bumped canonical suite version to 2.14 across
TAC/lua/triune.luaandREADME.md. - Updated test assertions across Suites 77, 78, 79, and 81 in
tests/test_pure_logic.lua(2,432 tests passing).
- Bumped canonical suite version to 2.14 across
-
Release Archive Packaging at Archive Root (
.github/workflows/release.yml,README.md).- Flatten Archive Directory Structure: Changed
git archivepackaging in.github/workflows/release.ymlto target treeHEAD:TACinstead of repository root paths, placinglua/,config/, andresources/directly at the root ofTriuneAutocombat-full.zipandTriuneAutocombat-Update.zip. - Root Documentation Inclusion: Included
README.mdandCHANGELOG.mdat the root of the generated release archives using--add-file. - Purged Deprecated Bridge Paths: Removed deleted bridge scripts (
TAC/triune_llm_bridge.py,start_bridge.*) from the release archive file list, resolving CI archive generation failures. - Updated Installation & Update Instructions: Updated release notes and
README.mdQuick Start instructions to direct users to extract the archive directly into the MacroQuest folder without navigating or dragging out of a subfolder.
- Flatten Archive Directory Structure: Changed
-
Auto AA Minimum 5 AA Bank Slider & Auto-Purchase Reliability (
TAC/lua/triune.lua,tests/test_pure_logic.lua).- Enforce 5 AA Minimum on Bank Slider: Updated the Auto AA bank reserve slider in
UI.drawAutoAATab(##autoAaThresh) to enforce a minimum of 5 AA (range 5 to 100), updated tooltips accordingly, and sanitizedctrl.auto_spend_aa_thresholdto a minimum of 5, preventing rapid continuous re-evaluation that caused micro-pauses in the main script loop. - Early Low-Point Evaluation Bypass (
checkAutoSpendAA): Added an early check (if unspent < 5 then return false end) to immediately exit evaluation when points are below 5, eliminating unnecessary AA window querying and evaluation pauses. - Multi-Character Repeatable Spender Reliability (Alternately Advanced Fireworks): Resolved an issue where Alternately Advanced Fireworks auto-spent on one character but stalled on another by whitelisting Special tab abilities (
runtime.isSpecialTabAA) andctrl.auto_spend_aa_namefrom cross-class stub rejection inisAAAllowedForPlayer, assigning syntheticmaxRank = 1inrecordScannedAA, and persisting Special tab abilities once discovered. - Window Trainer Substring Matching Safety: Removed dangerous substring overmatching in
findAAInWindowLists(cleanTarget:find(cleanRow)), preventing unintended shorter abilities from incorrectly intercepting selection of longer target abilities. - Class AA Tab Routing: Added class abbreviation detection and ability database cross-referencing in
startAATrainWorkflowto route Class-specific AAs directly to Tab 3 (Class) rather than falling back to Tab 1 (General). - Search Box Filter Cleanup: Added automatic clearance of leftover in-game search filter text in
AAW_SearchBoxduring window preparation to prevent search filter interference during list selection. - Added Unit Test Suite 84: Added comprehensive tests in
tests/test_pure_logic.luavalidating the 5 AA minimum slider, low-point evaluation gating, Special tab repeatability, and safe window list matching (2,447 tests passing).
- Enforce 5 AA Minimum on Bank Slider: Updated the Auto AA bank reserve slider in
-
Remove Popout Character Stats, Inventory & Currency Window (
TAC/lua/triune.lua,README.md,tests/test_pure_logic.lua).- Eliminated Popout Character Window (
TriuneCharacterWindow): Removed the embedded Character Stats, Inventory & Currency popout window and its rendering routineUI.drawCharacterWindow(), streamlining the main engine codebase while preserving the dedicated standalonetriune_inv.luamodule. - Removed Associated Configuration & State: Purged character window configuration keys (
show_character_window,char_lock,char_alpha,char_show_zerocur,char_alt_filter,char_slots_per_row) fromdefaultCtrl, and removed transient cache fields (cachedInvStats,statSyncRequested) fromruntime. - Removed Toolbar Buttons & Commands: Removed the
Characterbutton from the main header toolbar, theCharbutton from the Compact Mini-Window toolbar, window manager entry (character), and the/ac charslash command and help documentation. - Pruned Redundant Background Loops: Eliminated background equipment changes polling (
runtime.checkWornItemsChanged), inventory stats window scraping (runtime.scanStatsFromInventoryWindow), and the pending currency action loop from the main combat coroutine. - Preserved Shared Vector Primitives: Retained
UI.col32andUI.toVecvector drawing primitives required by the Popout Spellbook and Popout Spell Gem Bar windows. - Canonical Version Bump: Bumped version to 2.13 across
TAC/lua/triune.lua,README.md, and test suites (2,438 pure logic tests passing).
- Eliminated Popout Character Window (
-
Hours Formatting for Effects & Songs Popout Window and Buff/Ability Timers (
TAC/lua/triune.lua,tests/test_pure_logic.lua).- Updated
fmtSecto format durations of 3600 seconds or greater using hours and minutes (e.g.45h,45h 5m,1h 30m,1h), preventing long-duration buffs, GM auras, and potion effects from cluttering progress bars and hover tooltips with unwieldy minute counts like2700m. - Added unit test coverage in
tests/test_pure_logic.luaacross both thefmtSeccore logic suite and Suite 77 (Popout Effects & Songs Window) validating exact hour/minute formatting and long duration buff edge cases.
- Updated
-
Fix Spell Recast Timer Countdown in Popout Spell Gem Bar (
TAC/lua/triune.lua,tests/test_pure_logic.lua).- Smooth Real-Time Recast Interpolation: Fixed a bug where
math.abs((nowClock + querySec) - endAt) > 1.2repeatedly re-anchoredruntime.gemCooldownEndagainst static or 6-second discrete tick query values, causing the recast countdown to freeze and continuously display the initial recast delay instead of counting down. - Cast Completion & GCD Alignment: Recast countdowns are now primed during active casting and begin immediately upon cast completion. While cooling down (
rem > 0), the timer decrements continuously frame-by-frame (10 -> 9 -> ... -> 1 -> 0) without periodic mid-cooldown resets. - Gem Swap & Memorization Invalidation (
runtime.gemCooldownSpell): Tracks the scribed spell name for each slot, immediately invalidating stale cooldown anchors if a gem is memorized with a different spell. - Enhanced Query Parser & Overlay Formatting: Upgraded
UI.getGemCooldownSecto leverageparseDurationSecand proper MQ property extraction, and added hours support (%dh) to gem button overlay text for extreme recast abilities. - Automated Verification: Added discrete tick anti-freeze and continuous countdown simulation assertions to Suite 79 in
tests/test_pure_logic.lua(2,496 tests passing). - Static Analysis Fixes: Fixed undefined
isCastingThisvariable scoping within the gem cooldown calculation block and removed redundanttimer = 0reassignments, achieving 0 warnings across all files in Luacheck.
- Smooth Real-Time Recast Interpolation: Fixed a bug where
-
CI Test Suite & Satellite Theme Check Updates (
tests/test_pure_logic.lua,tests/check_theme_consistency.sh).- Guarded Quest Database File Loading: Updated Suite 57 in
tests/test_pure_logic.luato only assert and load quest catalog, expansion, and zone data files when present on disk, resolving unit test failures following the removal ofTAC/resources/triune_quest/. - Updated Theme Consistency Canonical & Satellites: Set
triune_cursor.luaas the canonical satellite module and pruned deleted modules (triune_buttons.lua,triune_test.lua) fromtests/check_theme_consistency.sh, bringing the theme consistency check to 100% passing.
- Guarded Quest Database File Loading: Updated Suite 57 in
📦 Installation & Updating Instructions
🆕 New Installation
- Go here and grab the latest macroquest release https://github.com/macroquest/macroquest/releases and extract under your user folder.
- Download TriuneAutocombat-full.zip below and extract directly into the root of your MacroQuest folder.
- If running windows add an exception to your MQ folder before running.
- Start
MacroQuest.exebefore launching EverQuest.
🔄 Updating an Existing Installation
- Download
TriuneAutocombat-Update.zipfrom the Assets below. - Extract directly into the root of your MacroQuest folder (overwrite files if prompted).
Note: Your personal settings and saved loadouts intriune_loadout.luaare preserved and will never be overwritten.