/MountRandomizer

World of Warcraft add-on for summoning random mounts.

Primary LanguageLuaMIT LicenseMIT

MountRandomizer

World of Warcraft add-on for summoning random mounts. The appropriate mount type (ground/flying/water) is automatically determined based on zone and other factors.

Usage Instructions

Setup

  1. Install from GitHub releases or Curse.
  2. Configure in the Interface Options: interface options
  3. Set up keybindings. keybindings
  4. Create a macro to call from your action bars.
    • /randmount <ground|flying|water> to force summon a specific type.

Blacklisting Mounts

To add a mount to the blacklist and prevent it from being summoned:

  • /run MountRandomizer:BlacklistMount(<npc id>)

For example, to blacklist the TBC boosty mount:

  • /run MountRandomizer:BlacklistMount(176708)

If you want to remove it from the blacklist:

  • /run MountRandomizer:RemoveMountFromBlacklist(176708)

Known Issues

  • Does not cancel shapeshift for druids. Changing form is a protected function, so implementing this functionality is infeasible. Recommendation is to add /cancelform [nocombat] prior to /randmount in the macro.

TODO for v1.0

  • upload to curse
  • handle cold-weather flying
  • handle water mounts
  • set up automatic packaging workflow
  • handle profession-specific mounts
  • move creatureSpellID lookup tables to separate file
  • fall back on ground mounts if journal has no flying mounts while in flyable area
  • improve handling of empty mount journal
  • clean up redundant syntax, especially around population of mountSpellPool
  • improve interface options panel
    • add button to print out mounts that are not found in lookup tables (use /randmount printunknown)
    • add button to automatically create a macro for invoking from action bar
    • correct size of dropdown lists
    • add option for whether character should dismount while currently flying

v1.0+ Potential Features

  • weighting system to make favored mounts more likely to be selected
  • weakaura creation:
    • party mount
    • party follow
  • additional mount types/cases
    • handle AQ mounts
    • handle loaned flying mounts in northrend
  • add debugging
  • make localization-friendly