Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.

Braided Eternium Chain causes the rest of the items in the neck slot to be overestimated #111

Open
paradigm72 opened this issue Apr 16, 2022 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@paradigm72
Copy link

paradigm72 commented Apr 16, 2022

If the "Suggest Armor Upgrades" feature is running, and the loop in Armory.cpp::item_upgrades ever switches away from Braided Eternium Chain, all subsequent Neck slot items it hits will have their DPS overestimated, because the Braided Eternium Chain buff will stay active even with different Neck slot items.

This is because we are automatically adding the braided_eternium_chain buff as a convenience factor here:

    if (character.has_item("braided_eternium_chain") && !character.has_buff(buffs.braided_eternium_chain))
    {
        character.add_buff(buffs.braided_eternium_chain);
    }

but never removing the buff if that condition becomes false on an item switch. I'm not sure exactly how to fix this because new code that removes the buff on an item switch needs to only do so if the manual "Braided Eternium Change" checkbox in settings isn't checked. I didn't see a way for the Armory.cpp code to access that.

For normal operation this doesn't happen when a different neck is selected, because Braided Eternium Chain is typically removed ahead of time by the optimizer. It will happen if Braided Eternium Chain is itself selected.
Screenshot 2022-04-16 at 14-31-02 TBC DPS Warrior Sim
For the gear set used to produce this, Natasha's Choker is actually ~8dps less than Braided Eternium Chain, but shows as ~3dps more in the Suggestions tool.

@TheGroxEmpire TheGroxEmpire self-assigned this Apr 17, 2022
@TheGroxEmpire TheGroxEmpire added the bug Something isn't working label Apr 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants