Skip to content

v0.6.1 - Resistances read from gear, weapon gaps, per-tab coverage

Latest

Choose a tag to compare

@ShempError ShempError released this 03 Aug 07:48
· 3 commits to main since this release

A fix release. Everything here is something that was supposed to work
already — most of it found by running the addon in a real 26-man raid and
then checking what it had actually read.

Resistances of other players are readable at last

The Resistances tab shipped in v0.6.0 and showed ? for everyone but you.
That was not a display bug: this client is never told other players'
resistances. Both read paths return 0 for a raid member standing next to
you, fully loaded — including their armour value, which is the giveaway
that the field is simply not transmitted rather than genuinely zero.

The numbers are now reconstructed from the equipped items' tooltips
the same route the Hit tab already takes — and Equip: +N All Resistances
counts on all five schools. On top of that comes the racial bonus,
which is written in no item: Dwarf +10 Frost, Gnome +10 Arcane, Night Elf
and Tauren +10 Nature, Undead +10 Shadow. Goblin and High Elf get nothing
added, because no resistance racial for them could be confirmed — an
invented bonus would be worse than a missing one.

This stays a near-range reading. A raid member the client has not loaded
has no readable equipment at all, and their column stays ?.

The weapon-buff column could never report a missing buff

For another player, the client returns nothing for the weapon
enchantment when there is no imbue — not an empty string, as the code
expected. So everyone without a weapon buff was shown as ? instead of as
a gap, and was left out of the gap count, the footer and the whisper.
Measured in a 26-man raid: 14 of 25 players were mislabelled that way —
precisely the case a buff checker exists to report.

The fix distinguishes by readability: if the main hand can be read and
there is no imbue, that is a gap. If the player cannot be read, it stays
unknown. Unknown is still never silently turned into missing.

Consumables that were being discarded

Six buffs were tracked in the tables but never recognised, because the
aura carries a different name than the item: Elixir of the Giants,
Elixir of Greater Agility, Elixir of Fortitude, Strike of the
Scorpok
, Rage of Ages and Elixir of Greater Frost Power. In one
raid, Elixir of the Giants alone was thrown away 38 times.

Aura names also arrive from the client with trailing spaces on occasion,
which defeated the name match; they are trimmed now.

"Gaps only" no longer empties Hit and Resistances

Those two tabs are numeric — no cell there can be missing, so the filter
hid every row. It now also counts the unknown cells, which is what there is
to see on those tabs.

The coverage number belongs to the tab it is shown on

The pill counted the players whose auras could be read — and showed
that number on every tab. Auras are readable raid-wide, equipment and hit
only nearby, resistances only for yourself. In the same raid the pill
claimed 26/26 while the Hit tab really knew 15 of 26 and the Resistances
tab 1 of 26.

Each tab now reports its own reading, and says which one it is:
26/26 readable on the aura tabs, 15/26 gear read, 15/26 hit read,
1/26 resist read. The report line in chat carries the same number. As a
side effect the word "readable" now means one thing instead of two.


A note on testing. Everything here is covered by the offline test suite
(15 suites, ~14 700 assertions), and the client behaviour behind each fix was
measured in a live 26-man raid before it was written. The gear-based
resistance reading is new code on that path, though — if a resistance column
looks wrong, please open an issue with what you saw.