promotional bannermobile promotional banner

Fishmonger

One-button cast and auto-apply lures!
item image

Description

Fishmonger

A WoW Retail fishing companion addon that automates the casting workflow — double right-click to fish, with optional pre-cast buff application.

Features

  • Auto-Cast Fishing — Double right-click casts Fishing via a secure action button. No keybinds needed.
    • With a fishing pole/tool equipped: double right-click to cast
    • Without a fishing pole: Alt + double right-click to cast
    • Timing window: 50ms–400ms between clicks
    • Automatically blocked during combat lockdown or while the loot window is open
  • Pre-Cast Buffs — Before casting Fishing, automatically applies configured enhancements in priority order:
    1. Cosmetic bobber (toy) — changes bobber appearance
    2. Oversized Bobber (toy or consumable) — makes the bobber larger/easier to see
    3. Lure (consumable) — applies a fishing skill enchant to your fishing tool
    • One item applied per trigger. Once all buffs are active, casts Fishing normally.
  • Settings Panel — Configurable via Interface → AddOns → Fishmonger
    • Checkboxes to enable/disable each buff category
    • Dropdown selectors for choosing which specific bobber or lure to use

Installation

Copy the Fishmonger folder into your WoW addons directory:

  • Windows: World of Warcraft\_retail_\Interface\AddOns\
  • macOS: World of Warcraft/_retail_/Interface/AddOns/

Then type /reload in-game.

Usage

Use /fishmonger or /fm in-game.

Available Commands

Core

  • /fm help — Show available commands

Debug

  • /fm debug loglevel <ERROR|WARNING|INFO|DEBUG> — Set log verbosity
  • /fm debug dump — Dump saved variables (requires DevTools_Dump)

Pre-Cast Buff Detection

The buff system checks whether each enhancement is already active before applying:

Buff Type Detection Method
Cosmetic bobber C_UnitAuras.GetPlayerAuraBySpellID (spell ID from KnownItems registry)
Oversized Bobber C_UnitAuras.GetPlayerAuraBySpellID(397827)
Lure GetWeaponEnchantInfo() with item link parsing fallback

The priority sequence (cosmetic → oversized → lure) evaluates each slot and applies the first missing buff. If all buffs are already active, the cast proceeds directly to Fishing.

Tips

  • The double-click window is intentionally tight (50–400ms) to avoid accidental casts during normal right-click interactions.
  • Alt-modifier requirement when no fishing pole is equipped prevents interference with normal gameplay right-clicking.
  • Pre-cast buffs are applied one per trigger — if you need all three buffs, you'll double-click three times before the actual Fishing cast happens. This is by design to avoid cooldown/GCD conflicts.
  • All buff preferences persist across sessions via saved variables.
  • Settings are also accessible through the Interface Options panel (no slash commands needed for configuration).

Development

File Structure

  • Fishmonger.toc — Addon metadata and load order
  • Core.lua — Addon namespace, structured logger, event dispatcher, slash commands, saved variable initialization
  • Modules/KnownItems.lua — Static registry of fishing bobbers and lures (item IDs, spell IDs, enchant IDs)
  • Modules/PreCastBuffs.lua — Buff detection, inventory checks, priority sequence logic
  • Modules/AutoCast.lua — Double right-click detection, secure action button management
  • Modules/ConfigUI.lua — Settings panel (checkboxes, dropdown selectors)
  • Tests/ — Self-contained test suite (runs outside WoW via plain Lua)
  • Data/ — DB2 CSV exports used for item/spell ID lookups (not tracked in git)
  • .kiro/ — Development specs, skills, and steering docs

Architecture Notes

Auto-Cast uses a SecureActionButtonTemplate with override bindings. On first click, a timestamp is recorded. If a second click arrives within the timing window, an override binding is set on the secure button to fire the cast. A PostClick secure handler immediately clears the binding so only one cast occurs per double-click.

Pre-Cast Buffs hooks into the cast pipeline. Before the secure button fires Fishing, the module checks the priority sequence. If a buff is missing, it uses the item (toy or consumable) instead of casting Fishing. The module queries C_UnitAuras and GetWeaponEnchantInfo to determine what's already active.

Requirements

  • WoW Retail (The War Within / 12.x)
  • Interface version: 120100

The Fishmonger Team

profile avatar
  • 1
    Followers
  • 3
    Projects
  • 538
    Downloads
Donate

More from drewzybluezy