Skip to content

CDM: Demonic Healthstone and Healthstone are separate presets, so the count is wrong when talented #2154

Description

@lkshrk

Healthstone count shows up wrong when the Demonic Healthstone talent is taken.

The two stones are registered as two unrelated item presets in EllesmereUICooldownManager/EllesmereUICooldownManager.lua:602-615:

{
    key      = "healthstone",
    name     = "Healthstone",
    icon     = 538745,
    itemID   = 5512,
    spellID  = 6262,
    combatLockout = true,
},
{
    key      = "demonic_healthstone",
    name     = "Demonic Healthstone",
    itemID   = 224464,
    spellID  = 452930,
},

Neither carries displayOrder, swapWith or altItemIDs, so neither participates in the variant-resolution path. PotSwap.Ensure bails immediately for them (EllesmereUICdmHooks.lua:5795):

if not (preset and preset.displayOrder and f._presetItemID == preset.itemID) then return nil end

So the count each icon shows is a single-item count for its own literal itemID. A warlock with the talent carries 224464, while the icon most people have on their bar is the plain healthstone preset (5512) - that one counts 0, and the Demonic preset is a separate icon you have to add on purpose. Taking or dropping the talent silently changes which of the two icons is the live one.

The codebase already has the mechanism for exactly this: liquid_luster uses altItemIDs (line 600), and the potion presets use displayOrder + swapWith to walk a chain and display whichever variant is actually in bags (PotSwap.Chain, EllesmereUICdmHooks.lua:5757-5775). The healthstones look like they just never got wired into it. Making Demonic Healthstone a variant of the Healthstone preset rather than a sibling would make one icon count both.

Note AuraBuffReminders already handles this correctly (HEALTHSTONE_ITEM_IDS = { 5512, 224464 }, line 1203) and only uses it as a boolean hasStone, so the ABR reminder is not affected - it is specifically the CDM count.

Environment: retail, EllesmereUI 9.2.1.

Reported from reading the source; the read of which icon is on the user's bar is inferred, so correct me if the intended setup is to add the Demonic preset manually.


Filed by an AI agent (OpenHands) on behalf of the repo user.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions