Skip to content

jvanst/wow-mageservices

Repository files navigation

Mage Service Addon

Automates mage portal selling and consumable trading in World of Warcraft: Classic.

Note: Addon is disabled by default. Use /mageservice on

Features

  • Scans local and instance chat for players wanting to buy ports, water or food
  • Whispers found players & invites them to the party
  • Uses a proximty scanner to detect when players are in trade range. Automatically opens trade window.
  • Ensures players paying for ports put the required gold into the trade window
  • Fills the trade window with food/water when players are not looking for a port
  • Blacklists players who keep the trade window open without action
  • Ensure casting a port doesn't interfer with conjuring food/water
  • Prints a trade summary
  • Persists settings across game sessions

Buttons

  • Accept Trade Appears once a trade is acceptable
  • Cast Portal Appears once a player has paid for a port
  • Conjure Appears when the players backpack doesn't have enough water/food
  • Advertise Appears every 60 seconds to send advertisement to local and instance channel

Screenshot 2025-05-02 142359

Technical Overview

Architecture

MageService uses a modular design with a central namespace (MAGESERVICE) that stores references to all modules. Each module handles a specific aspect of functionality and is registered in the main namespace.

Module Structure

Data Flow

  1. Event Registration: The Core module registers for WoW events and distributes handling to appropriate modules
  2. Chat Processing: Monitors chat channels for portal/food/water requests
  3. Player Handling: Tracks player status, destinations, and trade states
  4. UI Management: Dynamic button creation and layout based on current context
  5. Trade Automation: Manages the entire trade workflow from detection to completion
  6. Settings Management: Persists user preferences across sessions via WoW's SavedVariables system

Slash Commands

  • /ms or /mageservice: Toggle the addon on/off
  • /ms on or /mageservice on: Explicitly enable the addon
  • /ms off or /mageservice off: Explicitly disable the addon
  • /mageservice show: Show the UI container
  • /mageservice hide: Hide the UI container

TODO

  • Detect when party invites fails
  • Ensure port isn't on cd
  • Respond to players asking for specific water/food stack combinations
  • Respond to players asking about portals
  • Add more user-configurable settings (advert messages, water/food configuration, etc)
  • Track Sales

About

A World of Warcraft Classic addon to automate selling of mage services

Resources

Stars

Watchers

Forks

Languages