DopingControl 0.8.1

This commit is contained in:
2026-10-18 13:41:37 +02:00
parent e6561d3bce
commit 755194d1cb
8 changed files with 444 additions and 23 deletions
+23 -4
View File
@@ -98,11 +98,30 @@ DC.SLOTS_ADDONS = {
limits = "Guild members running shootyepgp only. The SuperWoW DLL"
.. " itself cannot be detected." },
{ id = "RINSE", label = "RIN", sub = "dispel", full = "Rinse", kind = "addon",
how = "Asks the group with the UpsiRinse version query; it answers"
.. " with its version.",
how = "Asks the group with the UpsiRinse version query and the"
.. " shootyepgp addon check. A shootyepgp answer is certain:"
.. " UpsiRinse or Rinse loaded = present, both disabled or"
.. " absent = missing.",
limits = "Only dispellers (Druid, Priest, Paladin, Shaman, Mage) are"
.. " checked, and only the UpsiRinse fork answers - the original"
.. " Rinse does not." },
.. " checked for a miss. Without a shootyepgp answer only the"
.. " UpsiRinse fork replies - the original Rinse does not." },
{ id = "RABUFFS", label = "RAB", sub = "buffs", full = "RABuffs", kind = "addon",
how = "Asks every shootyepgp client (addon check) whether RABuffs is"
.. " loaded, disabled or not installed - that answer is certain."
.. " Also passive: RABuffs clients in a raid broadcast buff data"
.. " every 30 s, and any such message proves the addon.",
limits = "Players without a current shootyepgp (or outside your"
.. " guild) do not answer. Then silence is weak evidence only:"
.. " members without mana and tracked timed buffs send nothing,"
.. " so 'not seen' (grey) appears after 70 s in the raid and"
.. " never means a confirmed miss." },
{ id = "BCS", label = "BCS", sub = "stats", full = "BetterCharacterStats", kind = "addon",
how = "Asks every shootyepgp client (addon check) whether"
.. " BetterCharacterStats is loaded, disabled or not installed -"
.. " that answer is certain, with its version. Also passive: a"
.. " druid's Tree of Life message on PARTY proves the addon.",
limits = "Players without a current shootyepgp (or outside your"
.. " guild) do not answer; they stay unknown, never missing." },
}
-- ------------------------------------------------------------------
+2 -1
View File
@@ -583,7 +583,8 @@ function M.classify(player, slotdef, expected, books)
if kind == "addon" then
-- ADDONS tab: the cell is the evaluated reply scan/addons.lua put
-- on player.addons[slot] ({ status = ok | old | missing | na |
-- unknown, text, mark, ... }). Silence is NEVER missing on its own:
-- unknown | notseen, text, mark, ... }; "notseen" (RABuffs silence)
-- stays UNKNOWN here, never a confirmed miss). Silence is NEVER missing on its own:
-- scan/addons.lua only says "missing" after a query window passed
-- for a member who was in the group when the query went out, or
-- when the addon is known absent (own row, SuperWoW answer "0").
+12
View File
@@ -534,6 +534,18 @@ local function simAddons(i)
else
m.RINSE = { text = "3.0" }
end
-- RABuffs: passive; false = "not seen" (grey), nil = too early
if math.mod(i, 6) == 1 then
m.RABUFFS = false
elseif math.mod(i, 7) == 2 then
m.RABUFFS = nil
else
m.RABUFFS = { text = "yes", presenceOnly = true }
end
-- BCS: only druids can show it; the rest of the sim stays unknown
if math.mod(i, 4) == 1 then
m.BCS = { text = "yes", presenceOnly = true }
end
return m
end