Skip to content

CDM: track engineering tinkers (Nitro Boosts) + Engineer Tinkers picker#365

Open
Trenchfoote wants to merge 1 commit into
EllesmereGaming:mainfrom
Trenchfoote:feat/cdm-nitro-engineer-tinkers
Open

CDM: track engineering tinkers (Nitro Boosts) + Engineer Tinkers picker#365
Trenchfoote wants to merge 1 commit into
EllesmereGaming:mainfrom
Trenchfoote:feat/cdm-nitro-engineer-tinkers

Conversation

@Trenchfoote

Copy link
Copy Markdown
Contributor

Adds support for tracking engineering belt tinkers on custom cooldown bars, starting with Nitro Boosts, and a dedicated "Engineer Tinkers" category in the add-spell picker (after Trinket Slots).

  • New enchant-preset mechanism (CDM_ENCHANT_PRESETS / ENCHANT_BY_SID), cloned from the trinket approach: cooldown comes from the equipped slot via GetInventoryItemCooldown, and the icon only injects when the tinker is actually applied (EnchantPresent). Cooldowns tick alongside trinkets; a belt re-enchant (PLAYER_EQUIPMENT_CHANGED on the slot) re-evaluates.
  • Options: "Engineer Tinkers" flyout submenu in the picker, listing the enchant presets (Nitro Boosts).

Copilot AI review requested due to automatic review settings June 7, 2026 05:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds support for tracking engineering “tinker” cooldowns (e.g., Nitro Boosts) as pseudo-trinkets by introducing enchant presets with negative handles and integrating them into both the runtime bar injection and the options UI.

Changes:

  • Introduced CDM_ENCHANT_PRESETS and a presetSID -> preset lookup for enchant/tinker tracking.
  • Added frame creation + cooldown update logic for enchant presets, plus event handling and bar injection.
  • Added an “Engineer Tinkers” flyout in the options menu to add these presets to bars.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
EllesmereUICooldownManager/EllesmereUICooldownManager.lua Adds enchant preset definitions and a fast lookup table keyed by presetSID.
EllesmereUICooldownManager/EllesmereUICdmHooks.lua Implements enchant frame lifecycle, cooldown updates, event wiring, and injection into CollectAndReanchor().
EllesmereUICooldownManager/EUI_CooldownManager_Options.lua Adds an “Engineer Tinkers” submenu for adding enchant presets to bars and keeps subnav open-state handling consistent.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

local icoSz = SUB_ITEM_H - 2
sIco:SetSize(icoSz, icoSz)
sIco:SetPoint("RIGHT", si, "RIGHT", -6, 0)
sIco:SetTexture(preset.icon or (preset.spellID and C_Spell.GetSpellTexture(preset.spellID)))
Comment on lines +5828 to +5830
EnsureAssignedSpells(barKey)
ns.AddTrackedSpell(barKey, pID)
RefreshCDPreview()
Comment on lines +1088 to +1091
local function EnchantPresent(slot)
local _, _, enable = GetInventoryItemCooldown("player", slot)
return enable == 1
end
Adds support for tracking engineering belt tinkers on custom cooldown bars,
starting with Nitro Boosts, and a dedicated "Engineer Tinkers" category in
the add-spell picker (after Trinket Slots).

- New enchant-preset mechanism (CDM_ENCHANT_PRESETS / ENCHANT_BY_SID),
  cloned from the trinket approach: cooldown comes from the equipped slot
  via GetInventoryItemCooldown, and the icon only injects when the tinker
  is actually applied (EnchantPresent). Presence requires both a usable
  on-use cooldown on the slot AND the equipped item's tooltip naming the
  tinker spell, so a belt with some other on-use can't false-positive;
  it falls back to the on-use check alone when tooltip/name data isn't
  ready. Cooldowns tick alongside trinkets; a belt re-enchant
  (PLAYER_EQUIPMENT_CHANGED on the slot) re-evaluates.
- Options: "Engineer Tinkers" flyout submenu in the picker, listing the
  enchant presets (Nitro Boosts).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Trenchfoote Trenchfoote force-pushed the feat/cdm-nitro-engineer-tinkers branch from e6f592d to 6e9b325 Compare June 7, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants