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.
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
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.
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
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
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.
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.
Evaluate the rules from the Rules options panel.
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.
Attempts to copy the mount of your target.
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.
Leave vehicle if in one.
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.
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
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
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.
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 processing and don't perform any action.
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.
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
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 |
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.