# TOG Tools

A collection of small quality-of-life tools that don't each deserve an addon of their own. Every one lives in its own tab inside a single tidy window — open it with `/togt`. Turn on the ones you want and ignore the rest.

Works on Classic Era, TBC Classic, Wrath Classic, Cataclysm Classic, Mists of Pandaria Classic, and Retail.

## Quickstart

1. Install via [CurseForge](https://www.curseforge.com/wow/addons/tog-tools) (recommended — it pulls in the companions automatically) or drop the folder into `Interface\AddOns`
2. `/reload` or restart WoW
3. Type `/togt` to open the main window
4. Pick a tab and switch that tool on — each one starts off until you enable it

That's it. Nothing turns itself on, and nothing writes to chat unless you tell it to.

## The tools

**Name Prefix** — puts a nickname in front of your chat messages so guildmates know who's talking when your character name isn't the name they know you by. Choose the format `(Name):`, `[Name]`, `Name —`, or write your own, with a live preview as you type. Enable it per channel, skip messages starting with `!` so addon commands aren't touched, and optionally drop the prefix on characters where it would just repeat your own name.

**Logs** — persistent history of mail, trades, guild events, guild bank transactions, whispers, and gathering, each in its own sub-tab. Everything is captured automatically, so you can answer "who mailed me that Black Lotus last week?" long after the fact. Every sub-tab has a date range, a search box, and click-to-sort column headers with multi-select filters that cascade — narrowing one column trims the choices in the others. Account-wide, with old entries pruned automatically past your retention setting (default 90 days).

**Graphs** — a sub-tab of Logs that charts your gathering, mail and trade over time. Pick a period, filter by character, profession, zone, source, item or expansion, and hover any point for that day's values.

**Gathering Log** — records everything you mine, herb, skin, fish, extract and pickpocket: the item, how many, where, when, and _what you got it from_ — the actual vein, herb, node, pool or creature, in its own column. It only logs what you genuinely gathered; mob drops and other loot stay out.

**Mailbox Stale Watcher** — tracks mail about to expire across every alt, so a stack of Black Lotus never gets auto-deleted because you forgot which character it was sitting on. Each alt's mailbox is snapshotted when that character opens a mailbox, and you get a one-line chat alert at login if anything is close to expiring.

**Login Digest** — one line in chat when you log in: expiring mail, guildies online, hearthstone bind, bag fullness, time since last logout. Any field with nothing to report hides itself, so the line stays short.

**Gratz** — auto-congratulates guildmates and partymates. Build named profiles, each with a trigger (achievement on Retail, or party/guild level-ups everywhere), the channels to send to, a message template, and a cooldown. It never congratulates you on your own events, and messages composed in combat queue up and send when combat ends.

**Smack** — makes your character talk trash in combat. Pick a trigger — your health dropping, a big hit landing, a killing blow, Bloodlust, your own death — then write a pool of lines and it picks one at random. Classic only: Retail keeps the combat data this needs hidden from addons.

**I'd Hit That** — your chance to actually hit your current target, built into your target frame rather than floating over the screen. Separate numbers for yellow attacks, white swings, off-hand and ranged, because they genuinely differ. Green means you're at the hit cap, red means you're losing attacks, and a line underneath says how much more hit you need. It borrows ZPerl's box styling or ElvUI's aura sizing from your own profile so it looks like part of the UI you already have. Not shown on Retail, where hit chance no longer exists.

**Addon Load Monitor** — every installed addon at a glance: memory used, whether it loaded, and how long it took. Status sorts failures first, so missing dependencies and broken addons surface immediately.

## Slash commands

| Command | What it does |
| --- | --- |
| `/togt` | Open the main window |
| `/togt np` | Name Prefix tab |
| `/togt al` | Addon Load Monitor tab |
| `/togt mail` | Mailbox Stale Watcher tab |
| `/togt login` | Login Digest tab |
| `/togt gratz` | Gratz tab (also `/togt gz`) |
| `/togt logs` | Logs tab, on the sub-tab you last used |
| `/togt logs mail` | Logs → Mail (also `/togt ml`) |
| `/togt logs trade` | Logs → Trade |
| `/togt logs guild` | Logs → Guild |
| `/togt logs guildbank` | Logs → Guild Bank (also `/togt gb`) |
| `/togt logs whispers` | Logs → Whispers (also `/togt wl`) |
| `/togt settings` | Addon settings panel |
| `/togt vc` | Check addon versions across your guild (Classic only) |

## Settings

Each tool is configured from its own tab — there's no separate options maze. `/togt settings` opens the shared settings panel for the things that aren't tool-specific, including history retention and which logs are capturing.

Every log type can be switched off independently, and nothing is captured for a log that's turned off.

## Requirements

CurseForge installs all of these for you. If you install by hand, you need them too:

- **Ace3** — the UI and settings libraries the addon is built on
- **!!TOGT** — a tiny no-UI companion that loads before everything else, so addon load times are accurate and errors during loading are caught from the very start
- **LibGuildRoster** — tracks who in your guild is online, used by Gratz

## Need help?

Bug reports, feature requests, or questions: **[Join the Discord](https://discord.com/invite/bY2R5TmBSz)**.

## Credits

**Pimptasty** — author and maintainer.

Built with the Ace3 libraries (AceAddon, AceDB, AceGUI, AceConsole) plus LibGraph, LibDataBroker and LibDBIcon.
