Advanced Options - xod-wow/LiteMount GitHub Wiki

The Advanced Options sub-panel in the LiteMount settings exposes some of the addon's internal workings to allow more advanced customization. You can see and edit the action lists that are associated with each of the four LiteMount key bindings.

Example

This is the default action list from LiteMount 11.0.0-16:

LeaveVehicle
Dismount [nofalling]
CopyTargetsMount
ApplyRules
SwitchFlightStyle [mod:rshift]
IF [mod:shift]
    IF [submerged]
        Limit -SWIM
    ELSEIF [flyable]
        Limit -DRAGONRIDING/FLY
    ELSEIF [floating]
        Limit -SWIM
    END
END
SmartMount
IF [falling]
  # Slow Fall, Levitate, Zen Flight, Glide, Flap
  Spell 130, 1706, 125883, 131347, 164862
  # Hearty Dragon Plume, Rocfeather Skyhorn Kite
  Use 182729, 131811
  # Last resort dismount even if falling
  Dismount
END
Macro

Action List Format

The format of a LiteMount action list is:

  • Each line is run in turn until one succeeds.
  • Lines beginning with # are comments and are ignored.
  • Each line contains an action, optionally one or more tests to restrict when the action is tried, and finally a set of action parameters.
  • Each test is contained inside square brackets []
  • Tests are logically OR-ed; they are successful if ANY match.
  • Each test (inside []) is a set of conditions, separated by commas.
  • Conditions are logically AND-ed; they are successful only if ALL match.
  • An action is not attempted unless its tests match.

Actions

  • ApplyRules
  • CancelAura SPELLS
  • CopyTargetsMount
  • Dismount
  • Limit LIMITS / Endlimit
  • LeaveVehicle
  • Macro
  • Mount MOUNTS
  • PreCast SPELLS
  • PreUse ITEMS
  • PriorityMount MOUNTS
  • Script SCRIPTLINE
  • SmartMount MOUNTS
  • Spell SPELLS
  • Stop
  • SwitchFlightStyle
  • Use ITEMS
  • IF / ELSEIF / ELSE / END

MOUNTS parameter

The Mount, PriorityMount and SmartMount actions take a MOUNTS parameter.

The parameter is a comma separated list of mount selections, all of which must match ("AND") for a mount to be included. Selections may additionally be separated with / (slash), which matches any of those conditions ("OR"). Selections may be negated with ~SELECTION.

A selection that is the word NONE (in all capitals) never matches any mounts.

A selection that is all numbers is an exact mount spell ID to match.

The selection mt:<n> matches mounts with mountType <n>.

The selection id:<n> matches exactly the one mount with mountID <n>

The selection family:<name> matches mounts with that family.

All other selections are either an exact mount name, a mount flag to match, or a group name. The possible mount flags are:

  • RUN
  • FLY
  • SWIM
  • DRAGONRIDING
  • RIDEALONG
  • SLOW (set on RUN mounts that are slow, e.g. the heirloom chauffeurs)
  • JOURNAL (mounts from the Mount Journal, nothing extra)
  • FAVORITES

Limit / Endlimit

The Limit action limits the set of mounts that will be considered by all later action list lines.

The beginning set of mounts is all mounts you know.

Limits that begin with + (plus) add the matching mounts (from all mounts) to the considered set.

Limits that begin with - (minus) remove the matching mounts from the considered set.

Limits that begin with = (equals) replace the considered set completely.

All other limits filter the considered set to those mounts who match the new selection as well.

The Endlimit action reverts the list of mounts to that prior to the most recent Limit action.

Mount vs PriorityMount vs SmartMount

The Mount action randomly chooses from all of the matching mounts, ignoring priority.

The PriorityMount randomly chooses from all of the matching mounts, with priority.

The SmartMount action is location-aware and uses priority. It will look for the type of mount that is best for the current situation (Ground / Flying / Aquatic) and choose a mount of that type from the filtered mounts.

ApplyRules

Evaluate the rules from the Rules options panel.

CancelAura SPELLS

The SPELLS parameter is a comma-separated list of buff names or buff spell IDs to cancel. CancelAura will only cancel spells that you are able to reapply, meaning it won't (for example) cancel Slow Fall someone else cast on you if you aren't a mage.

CopyTargetsMount

Attempts to copy the mount of your target.

Dismount

Dismount if mounted. This includes canceling mount-like forms.

For druids, the Dismount action will attempt to put you back in the form you were most recently in if you have that option enabled.

LeaveVehicle

Leave vehicle if in one.

Macro

Does nothing when activating LiteMount using a macro on an action bar.

Run the "Unavailable" macro from the LiteMount settings. See the Script action if you want to run your own script line.

PreCast SPELLS

Has no effect when activating LiteMount using a macro on an action bar.

The SPELLS parameter is a comma-separated list of spell names or spell IDs to attempt to cast before summoning a Mount Journal mount. You can use this to turn on Crusader Aura, Path of Frost, or Water Walking (as examples). E.g.,

PreCast Crusader Aura, Path of Frost, Water Walking, Slow Fall

PreUse ITEMS

Has no effect when activating LiteMount using a macro on an action bar.

The ITEMS parameter is a comma-separated list of items (see "Use" action for details) to attempt to use before summoning a Mount Journal mount.

PreUse Prismatic Bauble

Script SLASHCOMMAND

Has no effect when activating LiteMount using a macro on an action bar.

Run a slash command exactly as if you had typed it into the chat box. You must include the entire line including the starting /.

If you need to include commas or [macroconditions] in your script, quote the whole script line with "double quotes".

If a script command matches it is always run and LiteMount ends processing, even if it does nothing.

Spell SPELLS

The SPELLS parameter is a comma-separated list of spell names or spell IDs to cast. If you need to include commas in your spell names, quote them with "double quotes". The first one that is known and usable is cast.

Stop

Stop processing and don't perform any action.

Use ITEMS

The ITEMS parameter is a comma-separated list of item IDs, item names, toy names, or inventory slot numbers, similar to the /use macro command.

Checks each item in turn to see if it is usable. You cannot use this to equip items.

IF / ELSEIF / ELSE / END

Flow control options. These take no parameters but operate off the given [tests]. The tests use the same format as all other action lines, with one or more conditions inside square brackets.

E.g.,

IF [instance:1]
  ...
END

Conditions

These can all be prefixed with "no" to reverse the check. E.g., [nopvp]

Condition Description Classic?
achievement:<achievementID> player has completed achievement
activethreat Active threat on current map? Currently only N'Zoth Incursions
advflyable blizzard's skyriding check.
aura:<spell> buff or debuff (name or ID) is on unit, default player Y
breathbar player has the breath bar from being underwater Y
btn:<n> mousebutton clicked for macros, must include /lmt savebtn Y
canexitvehicle Y
channeling unit is channeling a spell, default player Y
channeling:<spell id or name> unit is channeling the given spell, default player Y
class:<classname> any return from UnitClass(unit), default player Y
click:<arg> for macro users, /click LM_Bn <arg> Y
covenant:<id or name> player is a member of shadowlands covenant
dead unit is dead, default player Y
difficulty:<difficultyID> Instance difficulty. See difficulty ID Y
draw:<x>/<y> random, x chances in y, deck-of-cards style, max y=52 Y
elapsed:<n> <n> seconds have elapsed since this condition was last true Y
equipped:<itemID> includes mount equipment Y
equipped:<itemType> Item Types Y
exists unit exists, default target Y
extra player has extra action button Y
extra:<spellID> player has extra action button with given spell Y
faction:Horde or faction:Alliance Y
falling falling for more than 0.5 seconds Y
false Y
[ flightstyle:steady/skyriding current flight style
floating on the water surface, based on jumping out Y
flyable current area allows flying and you know the required skill Y
flying currently flying (on a flying mount) Y
form In a shapeshift form Y
form:slow Slow druid Travel Form from being cast in combat Y
form:<formID> see GetShapeshiftForm Y
gather or gather:<type> gathered in the last 30 seconds, type can be "herb" or "ore" Y
group player is in a party or raid group Y
group:party player is in a party group Y
group:raid player is in a raid group Y
group:crossfaction player is in a cross-faction group (party or raid) Y
harm unit is hostile, default target Y
help unit is friendly, default target Y
holiday:<id> holiday event active, e.g, https://www.wowhead.com/event=404/pilgrims-bounty Y
indoors Y
instance player is in an instance Y
instance:<instanceID> player is in instance with given ID Y
instance:<type> One of: arena, pvp, party, raid, scenario Y
jump jumped in the last 2 seconds Y
keybind:<1|2|3|4> which LiteMount key binding was pressed Y
known:<spell> spell or talent is known, takes spell IDs or spellbook/talent spell names Y
level player is at maximum level Y
level:<n> player is specified level Y
level:<min/max> player is between the levels given (inclusive) Y
loadout:<name> named talent loadout is active
location:<name> checks both current map and current instance name Y
map:<uiMapID> player is on given map - see /litemount maps, checks along the whole map path Y
map:*<uiMapID> prefix with * to check exactly the current map Y
maw in The Maw (Shadowlands) zone Y
member:<name> player is in current party/raid (supports name-realm also) Y
member:<btag> you can only look up btags of your battle.net friends Y
mod or mod:<modifier> alt, ctrl, shift and also lalt, ralt, etc. [mod:alt/ctrl] works if either are held Y
mounted Y
moving Y
name:<characterName> unit has specified name, default player Y
outdoors Y
party unit is in our party, default target Y
pcall:<code> run some arbitrary LUA script and check if the value is true Y
pet unit has a pet, default player Y
pet:<petName> unit has pet with specified name Y
pet:<petFamily> See UnitCreatureFamily Y
playermodel:<modelFileID> player 3D model uses given file ID. "/litemount playermodel" to show current. Y
profession:<id or name> Player has specified profession
pvp unit is pvp flagged, default player Y
pvp:arena Current zone is a PVP arena Y
pvp:contested Current zone is PVP contested Y
pvp:friendly Current zone is PVP friendly Y
pvp:hostile Current zone is PVP hostile Y
pvp:sanctuary Current zone is PVP sanctuary Y
qfc:<questid> C_QuestLog.IsQuestFlaggedCompleted Y
race:<raceName> any return value from UnitRace(unit), default player Y
raid unit is in our raid, default "target", blame Blizzard Y
random:<percent> random roll percentage chance, 1-100 Y
realm:<realmName> as returned by /dump GetRealmName() Y
resting Y
role:<roleName> assigned LFG role, DAMAGER/HEALER/TANK Y
sameunit:<unit> unit (default player) and argument are the same unit Y
season:<season> spring, summer, fall or winter (northern hemisphere)
sex:<n> 2 = male, 3 = female, blame Blizzard Y
shapeshift player is shapeshifted Y
spec:<specNum> 1/2/3/4
spec:<specID> See SpecializationID
spec:<specRole> DAMAGER/HEALER/TANK
stationary:<seconds> not moving for seconds or longer Y
stealthed player is stealthed Y
submerged in water, not floating Y
swimming in water, includes floating Y
tracking:<name> same as on the minimap button menu, e.g. "Find Herbs"
true Y
waterwalking can walk on water (mount equipment or buff) Y
xmog:<setName or setID> transmog set is active
xmog:<outfitName> transmog outfit (user-created set) is active

Randomness

There are two randomizing conditions available:

[draw:<x>/<y>]

Makes a shuffled deck of cards with y cards, x of which are success and the rest are failure. Draw and discard the top card of the deck. When the deck is empty, reshuffle it.

[random:<percentage>]

Roll a 1-100 die, and if the number is <= the given percentage, return success.

⚠️ **GitHub.com Fallback** ⚠️