promotional bannermobile promotional banner

Watching Machine

Auto Combat Logger, Keyword Monitor, Mail & Trade Logger, Boost Parser, Warcraft Logs Lookup Tool, Auto Invite, Raid Debuff Tracker, Pvp Enemy Tracker, and Guild Recruiting Tool
Back to Files

watchingmachine.zip

File namewatchingmachine.zip
Uploader
VenitraVenitra
Uploaded
Jul 16, 2026
Downloads
23
Size
109.5 KB
Flavors
Classic TBC
File ID
8444801
Type
R
Release
Supported game versions
  • 2.5.6
  • 2.5.5

What's new

Version 2.9

  • New module: ArmorySnap — the standalone ArmorySnap addon is now integrated as a Watching Machine module
    • Passive raid gear/talent snapshots with a paper-doll browser, snapshot retention dropdown, and manual snapshots
    • Includes the v1.2 scan-speed overhaul: event-chained inspects capture a full 25-man in ~15–20s (the old fixed-tick scanner took 75+ seconds); out-of-range retry 120s → 15s
    • Reuses ArmorySnapDB, so archives from the standalone addon appear automatically
    • Detects the standalone addon and disables itself if both are running (prevents inspect conflicts)
    • Standalone /as commands kept; minimap button dropped in favor of the WM dashboard

Version 2.8

  • Updated for TBC Classic Anniversary patch 2.5.6 (Interface 20506, Classic Era 11508)
  • Removed stale Wrath/Cata interface declarations from the TOC (those clients no longer exist)
  • WhisperLogs: WCL URLs now point at fresh.warcraftlogs.com — the partition for Anniversary realms (classic.warcraftlogs.com is the old 2021 progression era); previously saved entries are migrated on login
  • MailLogger: fixed duplicate log entries when bulk-pulling mail
    • Take hooks logged on every ATTEMPT — bulk-pull addons retry the same slot until the server responds, creating one entry per retry
    • Mail data was read from a snapshot cache that went stale when mail deletion shifted inbox indices, logging the wrong (already-logged) mail's data
    • Hooks now read the inbox live at take time, with a per-slot dedupe fingerprint that resets whenever the inbox actually changes — identical mails from the same sender still all log correctly
    • "Open All Mail" button (AutoLootMailItem) is now hooked too; those pulls were previously never logged
  • New module: Buff Check — full raid buff audit on every ready check
    • Announces missing buffs to raid chat when YOU start the ready check
    • Reports locally (only you see it) when someone else starts it
    • Checks Fortitude, Mark of the Wild, Arcane Intellect, Paladin Blessings, and optional Divine Spirit, Shadow Protection, Well Fed, and Flask auras
    • Skips buffs whose providing class isn't in the group; skips offline/dead players
    • PallyPower integration: checks each player against their assigned blessings (class + single-target) when PallyPower is configured, reading PallyPower's own runtime tables so it tracks that addon's versions and localization; graceful fallback to the generic check otherwise
  • AutoLogger: Advanced Combat Logging guard
    • Verifies the advancedCombatLogging CVar on login and when entering raids
    • Re-enables it automatically if it got turned off (WCL uploads need it)
    • New settings checkbox + live CVar status in the panel
  • Performance pass across the addon:
    • KeywordMonitor: result rows are now pooled and reused — previously every row was recreated once per second while the window was open, permanently leaking frames
    • WhisperLogs: entry rows pooled and reused instead of recreated on every whisper/refresh
    • MailLogger: inbox re-cache now uses a single debounced timer instead of creating a new frame on every MAIL_INBOX_UPDATE event
    • DebuffTracker: target debuff scanning now uses precomputed name/spellID lookup tables instead of nested linear searches (runs 5x/second)
    • Core: module color table hoisted out of the print functions (was rebuilt on every chat message)
  • AutoLogger: fixed local variable shadowing the global type in instance detection

Version 2.7

  • DebuffTracker: Boss pull announce — "First hit: Playername on Gruul"
    • Detects first player in group to hit a boss via combat log
    • Configurable channel: Say, Party, Raid, /rw (cycles on click)
    • Follows leader-only announcement rules (no duplicate spam)
    • Resets per encounter
  • DebuffTracker: Healing Debuff category marked optional in auto-detect
    • Auto-detect won't enable it; user must opt in manually
    • Shows "(optional)" tag in settings, checkbox stays interactive
  • PvP Tracker: GUID-based player validation + faction checks
    • Fixed boss abilities (e.g. Shade of Aran Flame Wreath) being logged as PvP kills
    • Player GUIDs validated via "Player-" prefix (NPCs start with "Creature-")
    • NPC-controlled entities rejected via COMBATLOG_OBJECT_CONTROL_NPC flag
    • UnitFactionGroup check on unit detection and nameplate scanning

Version 2.6

  • Removed guild restriction — addon is now open to all players
    • No longer requires "Socks and Sandals" guild membership
    • Officer rank gating removed — all modules including Recruiter available to everyone
    • Removed security check retry loop, /wmachine recheck command
    • Simplified login flow: modules initialize immediately (no guild info wait)
    • 160 lines of security scaffolding removed

Version 2.5

  • Global verbose chat mode: low-priority messages hidden by default, toggle in WM Settings
    • Sync status, roster updates, leaderboard ticks, and diagnostics moved to VerbosePrint
    • High-priority alerts (revenge kills, enemy detected, kill notifications, errors) always visible
    • Verbose messages render in gray to distinguish from important alerts
  • DebuffTracker: alert coordination — only raid leader announces missing debuffs to chat
    • "Assistants can announce" checkbox for raids where leader doesn't have addon
    • All players still see alerts locally regardless of role
  • DebuffTracker: encounter-aware alerts — fixed pre-pull, post-kill, and retarget re-fire bugs
  • DebuffTracker: dead caster suppression — silences alerts when all casters for a debuff are dead
  • DebuffTracker: raid alerts force-disabled on upgrade (re-enable in settings after updating)
  • DebuffTracker: fixed IsBossUnit crash when targeting bosses in TBC Classic
  • GuildInvite: explicit leader/assist permission check before processing invite requests
  • PvP Tracker: guild sync and leaderboard now default to on for new installs
  • PvP Tracker: removed per-module "Show sync messages" checkbox (replaced by global verbose mode)
  • Full addon audit: verified no forward-reference or retail-only API issues across all 10 files

Version 2.4

  • DebuffTracker: alert coordination — only raid leader announces to chat (prevents duplicate spam)
    • "Assistants can announce" checkbox for raids where leader doesn't have the addon
    • All players still see alerts locally regardless of role
  • DebuffTracker: encounter-aware alerts — fixed pre-pull, post-kill, and retarget re-fire issues
    • Checks UnitAffectingCombat(target) so unengaged bosses don't trigger alerts
    • Tracks bossDeadGUID to suppress alerts after boss dies
    • alertedThisPull prevents same category from re-firing during an encounter
  • DebuffTracker: dead caster suppression — silences alerts when all casters for a debuff are dead
    • Scans raid for alive members matching class+spec needed for each debuff category
    • 2-second cache to avoid scanning 40 members every tick
    • Battle rez resumes alerts within 2 seconds
  • DebuffTracker: raid alerts force-disabled on upgrade (re-enable in settings)
  • DebuffTracker: fixed IsBossUnit crash when targeting bosses in TBC Classic
    • IsBossUnit() is a retail-only global; local function was defined after first call site
  • GuildInvite: explicit leader/assist permission check before processing invite requests
    • Solo: can invite; Party: must be leader; Raid: must be leader or assistant
  • PvP Tracker: guild sync and leaderboard now default to on for new installs
  • Full addon audit: verified no forward-reference or retail-only API issues across all 10 files

Version 2.3

  • PvP Tracker: Guild Sync UI controls (enable, show messages, auto-request, send/request buttons)
  • PvP Tracker: revenge kill announcements ("X has slain Y! Z has been avenged!")
  • PvP Tracker: KOS Leaderboard with point system (1pt per KOS kill, synced across guild)
  • PvP Tracker: leaderboard window with ranked list, bar graph, gold/silver/bronze medals
  • PvP Tracker: three announcement modes (Off, Hourly top 3, On Lead Change)
  • PvP Tracker: outgoing kill detection via PARTY_KILL and damage attribution
  • PvP Tracker: leaderboard points included in Hello handshake on login
  • Guild Invite: ignore player's own messages (won't self-invite when typing trigger words)

Version 2.2

  • Debuff Tracker: raid composition auto-detection with talent spec awareness
  • Debuff Tracker: missing debuff raid alerts with configurable delay and cooldown
  • Debuff Tracker: removed WotLK abilities (Savage Combat, Infected Wounds)
  • Debuff Tracker: added spec requirements to debuff definitions (Shadow Priest, Arms Warrior, etc.)
  • Whisper Logs: auto-detects server, per-player realm tracking for correct WCL URLs
  • Whisper Logs: proper cross-server player support via "Player-Realm" parsing
  • Guild Invite: fixed C_PartyInfo retail API calls for TBC Classic (uses global ConvertToRaid/InviteUnit)
  • Guild Invite: auto-convert to raid now only triggers on 6th invite (won't break 5-man parties)
  • Guild Invite: pcall-protected group API calls (safe during arena/BG transitions)

Version 2.1

  • Added PvP Enemy Tracker module (world PvP kill logging and proximity alerts)
  • Added global theme system (ElvUI/Tukui skin for entire addon)
  • Added Settings panel accessible via dashboard button and /wmachine settings
  • Added built-in error logging with stack traces (/wmachine errors)
  • Added per-debuff selection to Debuff Tracker
  • Moved theme system from DebuffTracker to Core.lua (all modules now themed)
  • Auto-detects ElvUI/Tukui on first load and selects matching theme
  • Fixed module initialization for existing installs (new modules merge into saved moduleStates)

Version 2.0

  • Updated for TBC Classic Anniversary Edition
  • Added Guild Invite module (auto-invite on "inv" trigger)
  • Added Debuff Tracker module (raid debuff monitoring with priority)
  • Added TBC dungeons to Services Parser
  • Minimap button now freely movable anywhere on screen
  • Fixed GetInboxItem API for TBC (itemID return value)
  • Added Test Message button to Recruiting Tool
  • Added nil safety checks throughout all modules

This mod has no additional files