One-click paladin externals for your whole raid. Any raid member requests Blessing of Protection, Blessing of Freedom or Divine Intervention with a single click — HandGuard finds the best available paladin, alerts them with a glowing button, and casts on the requester without the paladin ever losing their current target.
Built for vanilla 1.12 clients (OctoWow 1.18) with first-class support for SuperWoW, UnitXP SP3 and Nampower, and pure-1.12 fallbacks for everything.
The paladin alert with its pulsing CAST button, the requester tooltip with live per-paladin cooldowns, the 3-icon request bar with ready-count badges, and the options panel showing the detected client extensions.
- 🎯 Floating request bar — three icons (BoP / BoF / DI) with a live badge showing how many paladins have each spell ready right now
- 🖱️ One click = one request, routed to the best paladin: your priority list first, then the closest one in range
- 🔁 Automatic rerouting — if a paladin declines, dies, or doesn't answer within seconds, the request instantly moves to the next available paladin
- 📊 Hover tooltip — every paladin in the raid with per-spell state:
READY, exact cooldown remaining,no reagent,no addon… - 🗣️ Full chat feedback — accepted / denied (with the reason) / received, you always know what happened
- ⌨️ Key bindings for emergency requests, DI protected by a confirmation popup
- 🚨 Glowing alert frame — requester name in class color, spell icon, pulsing CAST button, expiry bar, raid-warning sound
- 🎯 Cast without retargeting (SuperWoW): the blessing lands on the requester while you keep your current target — tanks love this
- ⚡ Semi-auto mode (opt-in): the request arms itself and fires on your very next input — action key, mouse click, camera turn. No aiming needed
- 🧠 Smart auto-deny with reasons: on cooldown, dead, out of range, no line of sight, target has Forbearance, no Symbol of Divinity…
- 📿 Forbearance tracking (60 s) and reagent counting for DI
- 💀 Divine Intervention is never auto-cast — it sacrifices you; it always requires a deliberate click, with a big red warning
- 📢 Optional whisper to the protected player and party/raid announce
- 🕐 Request queue when several people ask at once
- 📡
HGRDsync protocol — paladins broadcast their cooldowns (debounced, resync every 60 s); requests are ACK/DENY/CASTED-confirmed end to end - 🔍 Cast detection for paladins without the addon — their BoP/BoF/DI
casts are seen via
UNIT_CASTEVENTand their cooldowns estimated - 🏷️ Rename & custom-ID proof — spells are matched by alias list and by
asking the client (
SpellInfo), so TBC-style renames like Hand of Protection and custom spell IDs are handled automatically - 🧯 Cast verification — every cast is confirmed by cast event or by the
spell's own cooldown starting; failures produce an instant
cast failedanswer instead of a silent hang
- Download the latest release (green Code button → Download ZIP)
- Extract the
HandGuardfolder intoInterface\AddOns\ - Make sure the folder is named exactly
HandGuard(notHandGuard-main) - Enable it on the character screen — done!
Every raid member who wants to request or provide blessings should install it. Paladins without the addon are still tracked (estimated cooldowns) but cannot receive requests.
| Command | Effect |
|---|---|
/hg |
Open the options panel (General / Paladin / Requests tabs) |
/hg unlock · /hg lock |
Move the bar & alert frame, then lock them |
/hg bop · /hg bof · /hg di |
Request a spell from the command line / macros |
/hg auto |
Toggle semi-auto cast (paladins, BoP/BoF only) |
/hg test |
Preview the paladin alert frame |
/hg status |
Extensions, group state, your spells, every paladin's cooldowns |
/hg spells |
Debug: show how your spellbook was matched |
/hg debug |
Log every HGRD message sent/received |
/hg reset |
Reset frame positions |
| Extension | What HandGuard uses it for |
|---|---|
| SuperWoW | Exact raid-wide cast tracking (UNIT_CASTEVENT), casting by GUID without retargeting, Forbearance by spell ID, custom spell-ID resolution |
| UnitXP SP3 | Exact 30-yard range checks and line-of-sight tests before routing (each subcommand is self-tested at load) |
| Nampower | Instant spell queueing in semi-auto mode |
No extensions? HandGuard falls back to combat-log parsing,
CheckInteractDistance and target/cast/retarget. Everything keeps working.
Why "semi"-auto and not fully automatic? The client only accepts spell casts made during real player input (anti-bot protection — verified: every programmatic cast path is silently dropped). Semi-auto mode arms the request and fires it on your next click, key press or camera turn, which in actual gameplay means near-instantly. A paladin who touches nothing for 8 seconds lets the request expire, and it reroutes.
Does the requester need to be in range?
The router prefers in-range paladins (exact distance with UnitXP). An
out-of-range paladin denies with you are out of range and the request
reroutes automatically.
What about Forbearance? Tracked for 60 s on everyone (and read directly from debuffs with SuperWoW). You can't request a BoP while you have it, and paladins auto-deny it.
HandGuard/
├── HandGuard.toc # 1.12 addon manifest
├── Bindings.xml # key bindings (BoP / BoF / DI requests)
├── utils.lua # chat-safe printing, timers, unit helpers, distance/LoS
├── core.lua # init, capability detection, events, roster, slash
├── cdtracker.lua # spellbook scan, cooldowns, reagents, cast detection
├── sync.lua # HGRD protocol + request routing state machine
├── ui_requester.lua # floating request bar + tooltip
├── ui_paladin.lua # alert frame, cast cascade, semi-auto arming
└── options.lua # tabbed options panel
The HGRD protocol carries a spell field (BOP/BOF/DI), so more externals
can be added without breaking compatibility.
Addon de coordination des CDs externes paladin pour WoW 1.12 (OctoWow) : un
membre du raid clique une icône → le meilleur paladin disponible reçoit une
alerte avec un bouton lumineux → un clic (ou sa prochaine action en mode
semi-auto) pose la bénédiction sur le demandeur sans changer de cible.
Refus motivés, re-routage automatique, suivi de Forbearance et des réagents,
/hg pour les options. Installez-le sur tous les personnages du raid.
MIT — see LICENSE.
Built with ❤️ (and a lot of in-game testing) by Shikawa & Claude.
