v0.2.0
What's new
NPTools
v0.2.0 (2026-08-18)
Full Changelog Previous Releases
- Wire CurseForge project id (1658105) into the toc
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - Add CurseForge/Wago release pipeline (BigWigsMods packager)
.github/workflows/release.yml packages and uploads on a v* tag; .pkgmeta excludes
dev tooling and the test-only LibDeflate; LICENSE (MIT) + CHANGELOG. TOC uses
@project-version@ and carries commented X-Curse-Project-ID / X-Wago-ID placeholders
to fill in once the projects exist.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - BonusRoll: in-game overview window (/np)
/np (or /np show) opens a read-only "who's rolling what" window — a boss-by-boss
list of who flagged each, with the data timestamp and an Import button. Available
to anyone running the addon, so the whole raid sees the synced picks. /np help
prints the text commands.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - BonusRoll: AceComm sync + /pressure and /np commands
Sync (Modules/BonusRoll/Sync.lua): anti-entropy gossip over AceComm prefix
"NPToolsBR". On login / group change, announce only our data's generated
timestamp; a node with strictly newer data broadcasts the full payload
(AceSerializer -> LibDeflate -> addon channel) after random jitter, suppressed if
it hears an equal-or-newer full first. Newest generated wins (import or sync).
Full payloads accepted only from senders on the trusted payload's officer
allowlist (bootstrap-accept only with no data yet). /np sync forces a broadcast.
Root command renamed from /npbr to /pressure (and /np alias). Needed AceComm-3.0,
AceSerializer-3.0, AceTimer-3.0 mixins on the addon.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - BonusRoll: use a texture marker, not a Unicode glyph
The voting-frame font lacks U+25CF (●), so it rendered as a tofu box. Use the
green ready-check texture instead (font-independent).
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - BonusRoll: /npbr import always opens the paste box
Inline "/npbr import <string>" arrived truncated because WoW's chat input caps
around 255 chars while export strings are ~460+. Route import straight to the
AceGUI paste box, which has no such limit.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - BonusRoll addon: BR voting-frame column, import, encounter tracking
First in-game milestone (Phase 4). NPTools.toc + Core.lua (AceAddon shell,
SavedVariables) + Modules/BonusRoll:- adds a sortable "BR" column to RCLootCouncil's voting frame via the 3.x
RCVotingFrame:AddColumn API — green dot when the candidate flagged the current
encounter, tooltip listing their flagged bosses this tier, comparesort. - tracks the current DungeonEncounterID from ENCOUNTER_START (+ /npbr setenc for
RC test mode), refreshes the frame on change. - /npbr import [string] (inline or paste UI via AceGUI), decoding through the
proven Codec.lua; validates version/timestamp/older-than-stored; persists to
SavedVariables. - /npbr status shows data age, tier-mismatch, and "matched N/M candidates" so a
silent name/id mismatch is visible.
Codec/base64/json made namespace-aware (work in-game and under the test harness);
round-trip test still green.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- adds a sortable "BR" column to RCLootCouncil's voting frame via the 3.x
- Rename addon to NPTools (umbrella); BonusRoll as first module
NPTools is the No Pressure guild addon shell; the RCLootCouncil bonusroll column
becomes its first module. Keeps the shared import codec + libs at root; feature
code will live under Modules/<Feature>/.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - Phase 0c: prove import-string compression round trip
Establish the NPBonusRoll addon repo and settle the highest-risk boundary first:
the web→addon import string. Node encodes the payload (JSON → raw DEFLATE →
standard base64); the addon decodes it (Base64 → LibDeflate:DecompressDeflate →
JSON → table) via Codec.lua + bundled base64/json + the LibDeflate RCLootCouncil
ships. A round-trip test runs the actual Lua decode inside a real Lua VM (wasmoon)
and reproduces the payload byte-for-byte, incl. accented UTF-8 Name-Realm keys,
plus a committed golden-string regression guard.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
This mod has no additional files

