Oh
God Main
Mike Home
About Mike
Links
Pictures
WoW Addons
WoW
Macros
WoW Links
WoW Pictures
WoW Toons
|
|
Here are just some of my macros. Please feel free to post
your own on
the respective forums and I'll add them to my list, or
suggest
improvements. Other than the Healing macro and class
specific such as
Druid's Hibernate spell, I try to keep my macros universal
so that they
can be used for all classes.
Pros:
- can save valuable keystrokes in instances
- can save valuable mana for killing runners
- can prevent wipes by warning of adds or low mana
- can handle targeting for pets and control pet attacks
easier
- can swap out items from inventory such as go from 1H
sword
w/Shield to 2H sword or axe
- one click heals without losing your target
Cons:
- 255 character limit
- one spell cast per macro
- no /wait x secs ability unless you have Cosmos
installed,
cannot be used to cast spells
I generally have my informational messages goto the local
chat
or SAY
and not to the /p (Party channel) this provides hi
contrast in an
instance so it doesn't get lost in the chatter. It is also
handy
because it is local only and can be used outside of a
party. You can
change the /s to /p if you like. The %t is a placeholder
and will fill
in with the enemies name (ex. Hibernating >> Large
Grizzly Bear
in 3 secs"). Please note that CastSpellByName and /cast
are
fundamentally the same except that you cannot use a /cast
within a
/script, you must use the CastSpellByName instead. Fyi,
UnitHealth
& UnitHealthMax both return HP(Health Points). Example
my druid has
1800 hp, if I have taken one point of damage then
UnitHealth("Terax")
would return 1799 and UnitHealthMax("Terax") would return
1800,
1800-1799=1 (which is what I set 'd' to in the Heal v2
below.
The following are pulling and assisting macros. These you
could hard code in the master assist or just hit F2-F5
then click your
assist button.
GENERAL
MACRO WORKAREA
This is a workarea to build your own macros then copy
paste into WoW.
It counts the number of characters for you, does
soft-wrapping, retains
carriage returns, and in general simulates the behavior of
the Macro
editor in WoW. This will allow you to alt-tab (Cmd-tab on
Mac) out and
work on the macro instead of trying to do it in-game. Once
completed,
it should be a simple matter of highlighting all of your
macro and then
copy-paste it into the WoW macro editor. None of the other
macro text
boxes have the counting or research feature.
Note: this is a scratch area, if you
refresh
the web page your work will be GONE!
BOSS INFO
This is designed to allow the most info to be sent in one
macro.
In this case if your targetting Razorgore in BWL it puts
out one set of
text, otherwise it assumes your doing Baron Geddon or
Shazzrah in MC
and puts out text for that.
ATTACK (*NEW* WoW 2.0 01/15/07)
Combined ASSIST/PULL
(Tested and works great with lock and hunt pets -netnutz
12/14/06)
(ex. Terax says "Attacking >> Vampire Bat")
HALT (*NEW* WoW 2.0 01/15/07)
Stops all attacks, drops freezing trap if Hunter has
target (Note: may
have to add new pet classes as new ones are added, I tried
to be
complete).
SHOOT (*NEW* WoW 2.0 12/14/06)
Combined Shoot Wand/Gun/Bow/Crossbow/Thrown
CC (Crowd Control messages)
RAID TARGETS
Key: 1=yellow star, 2=orange circle, 3=purple diamond,
4=green
triangle,
5=silver moon, 6=blue square, 7=red x, & 8=white
skull.
Priest Example below is set to 4=green triangle.
Druid Example below is set to 5=silver moon.
MASTER ASSIST
Yes this script actually works, just replace "say" with
"party" or
"raid" and change the format as you please.
This script is simply used as a Master Assist to assign
the next mob to
be taken down.
Example Output for this script is:
Target Change, ASSIST on >> Helyx 42 Hunter
100%hp
2385/2385mp
MASTER ASSIST
Yes this script actually works, just replace "say" with
"party" or
"raid" and change the format as you please.
This script is simply used as a Master Assist to assign
the next mob to
be taken down.
Example Output for this script is:
Target Change, ASSIST on >> Helyx 42 Hunter
100%hp
2385/2385mp
MA/Assist/Target ALL-IN-ONE (*NEW* WoW 2.0 12/14/06)
This is like MA script above but will assist a friendly if
so then you
aren't MA. Otherwise if you have a hostile targeted, sends
out the MA
notice, otherwise if no target then tries to target based
on name.
Example Output for this script is:
Target Change, ASSIST on >> Helyx <<
MA/Assist/Target ALL-IN-ONE W/My MacBot Addon (*COMING
SOON*
WoW 2.0
12/14/06)
This is like MA script above but will assist a friendly if
so then you
aren't MA. Otherwise if you have a hostile targeted, sends
out the MA
notice, otherwise if no target then tries to target based
on name.
Example Output for this script is:
Target Change, ASSIST on >> Helyx 42 Hunter
100%hp
2385/2385mp
OOM
(ex. Terax says "Thadeious I'm Out of Mana!", voice "My
mana is low!")
HELP
(ex. Terax says "<< Thadeious I'm under attack!",
voice "Heal
Me!")
HI
(ex. Terax says "Hi Sprite!", Terax waves at Sprite, voice
"Greetings")
THX
(ex. Terax says "Thank you Croe!", Terax bows at Croe,
voice "Thank
you")
FOL
(ex. Terax says "Following >> Croe", voice "Choo
choo, chugga
chugga...")
Bag Layouts for PickupContainerItem &
UseContainerItem and
other
container scripts:
[4][3][2][1][0] 0=backpack, 16=bottom right corner
slot
Each bag slot is numbered left-right top-bottom as
follows:
[01][02][03][04]
[05][06][07][08]
[09][10][11][12]
[13][14][15][16]
The Inventory slots for UseInventoryItem and other
weapon/trinket swapout scripts:
0 = ammo
1 = head
2 = neck
3 = shoulder
4 = shirt
5 = chest
6 = belt
7 = legs
8 = feet
9 = wrist
10 = gloves
11 = finger 1
12 = finger 2
13 = trinket 1
14 = trinket 2
15 = back
16 = main hand
17 = off hand
18 = ranged
19 = tabard
(see wowwiki here
for more info)
DRUID
New Feral & xForm Macros to get around 2.3 macro changes
for
autoUnshift.
xForm (Feral, *NEW* WoW 2.3, updated 11/30/07)):
FERAL (*NEW* WoW 2.3 updated 11/30/07)
Cancel Shapeshift Form (*OLD* WoW 2.0 12/14/06)
(ie. puts you back into NE/Tauren form from any feral/oomkin
form)There
are three here one for Moonkin, Feral, Restore specs and I
am guessing
at Flight form at this point.
xForm (Feral):
xForm (Balance):
xForm (Restore):
HIBERNATE
(ex. Terax says "Hibernating >> Vampire Bat", casts
Hibernate
spell)
FERAL (*OLD* WoW 2.0 12/14/06)
(ex. do prowl out of combat, Tigers Fury incombat, Feral
Charge for
bear)
Innervate (*NEW* WoW 2.0 12/14/06)
HUNTER
FEED (*NEW* WoW 2.0 07/14/07)
(Note: You can just highlight "3 1" and shift click on food
(ex. "Roast
Quail") to replace in the macro.)
Bag
Layouts for PickupContainerItem & UseContainerItem and
other
container scripts:
[4][3][2][1][0] 0=backpack, 16=bottom right corner
slot
Each bag slot is numbered left-right top-bottom as
follows:
[01][02][03][04]
[05][06][07][08]
[09][10][11][12]
[13][14][15][16]
LEASH (*NEW WoW 2.0 12/14/06*)
This uses specific pet abilities for both lock &
hunter.
VET (*NEW WoW 2.0 07/14/07*)
Either revives pet depending on if pet exists or not. Hold
shift to
call pet, otherwise mends pet if it exists. If pet has
despawned on a
failed rez, then target yourself to rez. Yes, this is
convoluted, but
its the simplest way to be able to rez your pet regardless
of if your
pets body exists or not, and still be able to call your
pet and mend it
all with the same button. Also, this macros tooltip
changes just like
the type of spell do to make it easier, just select '?'
icon for the
macro and the icon will change automatically.
ARM
Used for Neferion during class call to preven hunter
ranged weapons
from breaking.
FD/Freeze (new 11/01/06)
This macro simplifies dropping out of combat and setting
up a trap.
Press the hotkey repeatedly until desired result is
achieved (remove
Shadowmeld if your not a NE of course).
Melee (new 11/01/06)
This macro simplifies your melee skills all into one. Good
thing about
this macro is it will 'queue" Raptor Strike & Wing
Clip for your
next swing, and a cool side effect is both can cast at the
same time if
your in range.
Scattershot (new 11/01/06)
Just pushe once, makes pet stay and drops autoshot so you
won't break
SS and get pointed and laughed at.
MAGE
SHEEP
(ex. Terax says "Sheeping >> Syndicate Enforcer",
casts Sheep
spell)
PALADIN
PRIEST
ROGUE
STABBY
SHAMAN
WARLOCK
LEASH (*NEW WoW 2.0 12/14/06*)
This uses specific pet abilities for both lock & hunter.
FEAR
(ex. Terax says "Fearing >> Syndicate Enforcer",
casts Fear spell)
WARRIOR
LAST STAND
SHIELD WALL
REVENGE/REND
OVERPOWER/REND
STANCE DANCES
Battle Stance/Mocking Blow:
Defensive Stance/Taunt:
Bezerker Stance/Intercept:
Bezerker Stance/Rage:
Macro Options from Cogwheels guide on WoW Macros forum as
of
07/15/07:
What are macro options?
Macro options are a way to control actions based on various pieces of information. To dive right into an example, the following macro will cast Renew on a friendly target and Shadow Word: Pain on a hostile one.
/cast [help] Renew; [harm] Shadow Word: Pain
When you run this macro, the [help] condition is checked. This determines whether your target is someone you can cast beneficial spells on. If the [help] is true, it then casts Renew and the macro moves to the next line. Otherwise (either you have no target, or you can't cast a helpful spell on your target), it falls through to the next clause. Now it checks for the [harm] condition. [harm] is just like [help] but for offensive spells. If true, it casts Shadow Word: Pain. If it isn't true (no target or you can't harm your target) then it does nothing because there are no more clauses.
Note: I could have left the [harm] check out and it would have functioned in much the same way. However, if you have no target or your target can be neither helped nor harmed, you would receive an error message or, depending on the spell, the target selector cursor.
Commands which accept options
Only the "secure" commands respond to macro options. In fact, the secure commands are the reason macro options were created in the first place. Insecure commands like chatting, emotes, etc. can be scripted using the /run command. Furthermore, Blizzard didn't want to confuse people who use semicolons in their chat messages. If /say could use macro options, the following would always just say "Hello":
/say Hello; I'm a n00b
The following is a list of all the secure commands currently available in WoW:
* startattack * stopattack * cast * castrandom * castsequence * stopcasting * cancelaura * cancelform * equip * equipslot * use * userandom * changeactionbar * swapactionbar * target * targetenemy * targetfriend * targetparty * targetraid * cleartarget * targetlasttarget * assist * focus * clearfocus * petattack * petfollow * petstay * petpassive * petdefensive * petagressive * petautocaston * petautocastoff * stopmacro * click * dismount
If you would like a way to use macro options for insecure commands, there are addons that provide such capability. My addon, MacroTalk, adds a number of /opt___ commands for each chat command and a generic /opt command that lets you use options to choose other full (insecure) slash commands. I believe the newest SuperMacro provides this functionality as well.
[target=unit]
In addition to condition checking, the macro option system provides us with a way to set the target of various actions. For example, the following macro will always use the bandages on the player regardless of what is targeted:
/use [target=player] Heavy Netherweave Bandage
Besides setting the target of the action itself, the [target=] assignment also sets the unit that the conditionals are checked against. Since that probably 't make much sense, here's a macro that combines concepts from both of the examples you've seen so far:
/cast [help] [target=targettarget, help] [target=player] Flash Heal
First it checks against [help]. If it's true, then it passes Flash Heal to /cast. Otherwise it moves on to the next condition, [target=targettarget, help]. Now it checks for help again, but this time it's checking to see if your target's target is friendly. If it is, then it will pass Flash Heal to /cast, but this time it also tells /cast that it should be cast on your target's target. If it still hasn't found a valid target yet, it'll move onto the next condition, [target=player]. Since there are no actual conditions in there, it will always be true, so Flash Heal is sent to /cast with you, the player, as the target.
So far, I have used two unit IDs with the [target=] instruction: player & targettarget. This is the way the WoW UI references players & NPCs. Other common units include focus, target, and mouseover. Please visit http://www.wowwiki.com/UnitId for a full list of unit IDs.
In addition to units, [target=] can also take player names as long as the player is in your party/raid. This can be useful for situations like arenas where you always know who you're going to be acting on. If you want to access a player's target, you append as many '-target's as necessary (e.g., [target=Cogwheel-target]).
Syntax overview
There can be an awful lot of confusion around how macro options work, so I will take this early opportunity to break down the general concepts behind them. I will be providing some real-world examples using actual options. Don't worry too much if you don't understand what they mean. All options will be covered in detail later on.
General options syntax
All slash commands basically work the same way. You have a command, and a set of parameters. The parameters depend on the command, and some commands don't take any. Here are a few examples:
/cast Smite
\___/ \___/
| |
| parameters
|
command
/petattack
\________/ V
| |
| parameters (empty)
|
command
/castsequence reset=target Immolate, Corruption, Curse of Agony, Siphon Life
\___________/ \____________________________________________________________/
| |
command parameters
Macro options allow you to choose a set of parameters based on a number of criteria. At the highest level, you have a set of criteria/parameter groups separated by semicolons. The criteria consist of zero or more sets of conditions. Each condition set is enclosed with square brackets. Here is an illustration of this basic syntax.
/command [conditions] [more conditions] parameters; [conditions] parameters ...
As you saw in the basic examples above, the command is evaluated from left to right. As soon as it finds a set of conditions that are true, it runs the command with the corresponding parameters. If there are no conditions in a clause, it will always be true. In fact, you can imagine a single spell /cast command as a macro option with one clause that has no conditions.
Condition syntax
Each set of conditions is a simple comma-separated list. They can appear in any order, though [target=] is always taken into account first, before any of the conditionals. Think of the comma as an "and." A condition like [help, nodead, target=focus] means "My focus is friendly AND not dead."
Conditions themselves, though, have a few building blocks. First off, as you just saw with "nodead", you can put "no" in front of a condition to mean the opposite. Notice that [nohelp] does not mean the same thing as [harm]. [harm] and [help] both return true only if there is a target to begin with. Furthermore, there are some targets that can neither be helped nor harmed (unflagged players of the other faction, non-combat pets, escort quests, etc.).
Some conditions also take their own sets of parameters. For example, [stance] by itself means "In any stance" (useful for every class with stances except Warriors since Warriors are always in a stance). However, you can also specify one or more particular stances to check. The set of parameters begins with a colon (:) and each parameter is separated with a slash (/) that means "or." Here's a generic illustration of the syntax of a single condition where everything inside angle brackets (<>) is optional.
[condition<:parameter<...>>>>]
Here's a simple example that uses Shield Bash in Defensive or Battle Stance, but switches into Defensive Stance if you're in Berserker:
/cast [stance:1/2] Shield Bash; Defensive Stance
Note: "no" applies to the whole condition and all of its parameters. This means that [nostance:1/2] would mean "anything but stances 1 or 2"
Empty parameters
One source of confusion comes in dealing with parameterless commands. A very common error when writing macros is to add an extra semicolon to the end, but this creates some unexpected bugs. Take the following macro:
/petattack [target=focus, harm];
To the uninitiated, that looks like it'll send your pet after your focus if it's harmful, and do nothing otherwise. However, let's look at a breakdown of this macro:
/petattack [target=focus, harm] ;
\________/ \__________________/ V V V
| | | | |
command options | | parameters (empty)
| |
| options (empty)
|
parameters (empty)
See that extra blank set of options & parameters? Remember that a blank set of options always evaluates to true, so that second empty parameter gets passed to /petattack if the first conditions are false.
[target=] vs. unit parameters
Some commands accept units directly as their parameters. For example, /target party1 will target your first party member. The command /target [target=party1] while a bit more verbose has the equivalent behavior. However, in most cases the designers don't want us to be able to test conditions on one unit and then act on another, so you must use one or the other. E.g., a macro like the following will not work as expected:
/target [target=focus, dead] party1
WoW will ignore party1 because you set a unit with the [target=]. There are some specific exceptions to this rule. A few commands have "key units." If you use that unit in your [target=], WoW will allow you to specify another unit or will use the default unit for the command if you don't specify one. That last bit needs a concrete example:
/focus [target=focus, dead] [target=focus, noharm]
In this case, the key unit is focus. Since we are using [target=focus], WoW will send "target" to the /focus command since the blank /focus command operates on your target. Below is a list of all such commands, their key units, and their default units if any. To reiterate for clarity, the Key Unit is a unit you can use in [target=] that will allow you to send another unit to the command. The Default Unit is the unit that will be sent to the command if you don't provide one.
Command | Key Unit | Default Unit
-------------+-----------+-------------
/target | target |
/focus | focus | target
/startattack | target | target
/petattack | pettarget | target
Conditionals
Now you'll get to see the complete list of conditionals and what they mean. Each conditional will be treated more thoroughly below.
Complete list
Below is the entire list of conditionals that are available to the macro system. One of the goals in the 2.0 patch was to eliminate a lot of old "smart buttons" that allowed people to essentially play the entire game spamming one key repeatedly. However, many tasks people used macros to simplify were deemed OK and given Blizzard's blessing via the macro options.
If you don't see a condition listed here, then there is no way to check for it and take a combat-related action. These are essentially non-negotiable though they may be augmented in the future.
* help - Can cast helpful spells on the target * harm - Can cast harmful spells on the target * exists - Target exists * dead - Target is dead * stance:0/1/2/.../n - In a stance * stealth - Stealthed * modifier:shift/ctrl/alt - Holding the given key * button:1/.../5/ - Macro activated with the given mouse button * equipped:- - item type is equipped (item type can be an
inventory slot, item type, or item subtype) * channeling: - Channeling the given spell * actionbar:1/.../6 - Given action bar page is selected * pet: - The given pet is out * combat - In combat * mounted - Self explanatory * swimming - Self explanatory * flying - Self explanatory * flyable - In the Outland * indoors - Self explanatory * outdoors - Self explanatory * party - Target is in your party * raid - Target is in your raid/party * group:party/raid - You are in the given type of group
help & harm
These two have been covered fairly thoroughly so far. I can't really think of anything to add right now, but I will leave this section here for completeness.
exists
This determines whether the given unit exists. In other words, if you don't have a target, [exists] will return false. If you have a focus, [target=focus, exists] would be true. Note that in some cases [exists] is unnecessary. [help], [harm], [dead], [party], & [raid] all imply [exists] if they're true.
dead
If you have a target and it's dead, this will be true. This condition has been briefly mentioned above for an example.
stance:0/1/2/.../n
Stance is the generic term used for Warriors, Druids, Rogues, Priests (Shadowform) and Shaman (Ghost Wolf). Stances are only applicable to situations where certain abilities are only usable in specific forms. Because of this, Paladin auras (dispite being on the shapeshift bar) and Hunter aspects are NOT considered stances.
The simplest form of [stance], as mentioned previously, means that you are in any stance whatsoever. It is equivalent to [stance:1/2/3/.../n] where n is the number of stances you have. [stance:0] is equivalent to [nostance] so you can use a conditional like [stance:0/3] to evaluate as true if you are either in stance 3 or not in any stance.
The stances themselves are ordered the same way as they appear on your shapeshift bar. So a Druid with Bear, Aquatic, Cat, & Travel forms would have stances 1 through 4. Here is a simple chart to help you remember stance numbers (thanks Neuro :P):
| Warrior | Druid | Priest | Rogue | Shaman
---------+-----------+---------+------------+---------+----------
Stance 1 | Battle | Bear | Shadowform | Stealth | Ghostwolf
Stance 2 | Defensive | Aquatic | | |
Stance 3 | Berserker | Cat | | |
Stance 4 | | Travel | | |
Stance 5 | | MK/ToL | | |
Stance 6 | | Flight | | |
Note: if a Druid misses a form, all the lower ones will be shifted upwards on the chart.
Example:
/cancelform [nostance:0/1]
/cast [stance:1] Faerie Fire (Feral)(); [nostance] Faerie Fire
stealth
While the Rogues among you may find this redundant since [stance] behaves the same way, [stealth] also applies to Night Elves' Shadowmeld, Mages' Invisibility, etc.
modifier:shift/ctrl/alt
Modifier keys are a convenient way to save action bar space and make certain decisions. Say you want an implied targeting macro but use one spell normally and another spell when you're holding down a modifier key:
/cast [modifier, help] [modifier, target=targettarget, help] Flash Heal; [help] [target=targettarget] Greater Heal
This macro will cast a helpful spell on either your target if it's friendly, or your target's target otherwise. When you hold any modifier key, it will cast Flash Heal. Otherwise it will cast Greater Heal.
Of course, you can specify particular modifier keys for more control a la [modifier:shift/ctrl] which means "shift or control." If you want to specify both, you need two modifier conditionals: [modifier:shift, modifier:ctrl].
Beware if you're using keybindings for your macros. If you bind A to a macro with, say, [modifier:shift] and you have something else bound to SHIFT-A, the SHIFT-A binding will take precedence and your macro will not run.
button:1/2/.../5/
Similar to [modifier], [button] allows your macro to respond differently based on which mouse button is being used to activate the macro. Button numbers 1-5 correspond to left, right, middle, button 4, & button 5. If your macro is activated by a keybinding, [button:1] will always be true. As an example, here is the macro I use for mounting:
#show Swift Green Mechanostrider
/use [nobutton:2, flyable, nomounted] Ebon Gryphon; [nomounted] Swift Green Mechanostrider
/dismount [noflying] [button:2]
Behavior when not mounted: left-clicking will pick Ebon Gryphon if it can be used (flyable), otherwise it will use the Swift Green Mechanostrider. Right-clicking will always pick the mechachicken.
Behavior when mounted: left-click will only dismount if not flying. Right-click will always dismount.
The "virtual click" can usually be ignored, but if you use a bar mod it can be useful. Action bars that respond to various state changes translate clicks to virtual ones that determine which action to use. Because these virtual clicks are addon-specific, I'm not going to go into any further detail here.
equipped:
[equipped] allows you to determine if a particular type of gear is equipped. The item type can be an inventory slot name, an item type, or an item subtype. See http://www.wowwiki.com/ItemType and http://www.wowwiki.com/API_TYPE_InventorySlotName for lists of these types. Here is the macro I use to pick Shield Bash or Pummel depending on what I've got equipped:
#show [equipped:Shields] Shield Bash; Pummel
/cast [equipped:Shields,stance:1/2] Shield Bash; [equipped:Shields] Defensive Stance; [stance:3] Pummel; Berserker Stance
The #show line is used to make it show either Shield Bash or Pummel. Without it, it would show the stance spells as well, when applicable. Here's some pseudocode that illustrates how the second line works:
if a shield is equipped and I'm in Battle or Defensive stance then
/cast Shield Bash
elseif a shield is equipped then
/cast Defensive Stance
elseif I'm in Berserker stance then
/cast Pummel
else
/cast Berserker Stance
Here's another macro that lets you cast Overpower with a bit more vigor:
/equip [noequipped:Two-Handed Axes] Honed Voidaxe
/cast [nostance:1] Battle Stance; [equipped:Two-Handed Axes] Overpower
channeling:
Normally, if you are channeling a spell and begin casting another spell, it will cancel the channel. This option allows you to keep that from happening, and also has a few other uses. For instance, maybe you do want to cancel one particular spell but not another. [channeling] alone matches any spell and you can also list an arbitrary number of spell names to check.
Note: channeling is NOT the same as casting. The [channeling] conditional only applies to spells like Arcane Missiles, Drain Life, Mind Flay, etc. where after the initial cast, the spell makes its effect over time.
actionbar:1/.../6
The default UI provides a number of action bar pages. These pages only affect the lower left action bar that is visible by default. Luckily, you can make macros that respond to different action bar pages and place them on the other action bars. One example is for a hunter to emulate stances using their aspects:
/swapactionbar 1 2
/cast [actionbar:1] Aspect of the Hawk; Aspect of the Monkey
This macro will switch between action bars 1 and 2. When it switches to bar 1 it casts Aspect of the Hawk, and when it goes to bar 2 it casts Aspect of the Monkey.
pet:
Every class with a pet (including mind controlling Priests) will find this one useful. It allows you to choose an action based on which pet you have out. You can specify your pet's name or your pet's type (Voidwalker, Boar, Imp, Wolf, etc.). [pet] by itself matches any pet. For example, a Mage can choose between their elemental's Freeze spell or their own Frost Nova:
/cast [pet] Freeze; Frost Nova
combat
True if you are in combat.
mounted, swimming, flying, indoors & outdoors
These are all fairly self-explanatory. They all apply to you, the player.
flyable
As briefly mentioned above, [flyable] determines whether you are in the Outland where you're allowed to use a flying mount.
party & raid
These return true if the target is in your party or raid, respectively.
group:party/raid
This lets you determine whether you are in the given group type. [group] is equivalent to [group:party]. [group:raid] implies [group:party]. This can be useful for buffing classes. For example:
/cast [group, nomodifier] Arcane Brilliance; [help] [target=player] Arcane Intellect
If you're in a group it will normally cast Arcane Brilliance. If you're holding a modifier key or you're solo, it will cast Arcane Intellect on a friendly target or yourself.
Changes for WoW 2.0 macros/scripts from WoW Macros
forums
12/14/06:
Neuro's Macro Guide for WoW 2.0
(Author's Note: WoW 2.0 is still in Beta, and as such, these options can change at any time.)
In WoW 2.0, macros and addons will drastically change. Recently, Slouken announced an exciting new addition to the functionality of macros in WoW 2.0, a set of conditional options for the /cast, /use, /target, /focus, /assist, /stopmacro, /cancelaura, /userandom, /castrandom, and /castsequence slash commands. This post is intended to be a "How-To" guide on using them.
NOTE: While most of the examples given are done using '/cast', these options are available to all the slash commands listed above.
Understand that most current macros will be obsolete in 2.0. Just about anything using CastSpellByName() or TargetUnit() will be non-functional in combat. In addition, most 'dumb logic' macros will not work either. However, you can now replicate the functionality of many popular macros with these new Macro Options.
Currently, using '/cast' is very simple. The command format is '/cast ' (which casts the highest rank of the listed spell), or '/cast (Rank <#>)'. Some examples:
/cast Greater Heal /cast Arcane Intellect(Rank 3)
In the new system, this format still works just the same, however you can now add options to give more flexibility to your /cast statements. The new command format for '/cast' is: '/cast [] ; [] ; [] ; ...
The way a macro works now is like this: The first set of options is checked. If they are true, then the first spell is cast. If they are false, the next set of options is evaluated, and if true, the next spell is cast, and so on. However, you must keep in mind that only one spell will be cast. As soon as a set of options evaluates to true, the game will cast the corresponding spell, and that line of the macro will be done.
The current options available to players are: # help - Evaluates 'true' if target is friendly
# harm - Evaluates 'true' if target is hostile
# combat - Evaluates 'true' if you are in combat.
# stance or stance:# - Evaluates 'true' if you are in a stance, or are in a particular stance (see below)
# stealth - Evaluates 'true' if you are stealthed.
# modifier or modifier:shift|ctrl|alt - Evaluates 'true' if the selected key is held down when the command is executed.
# equipped:- - Evaluates 'true' if item is equipped. Item can be any valid
inventory slot, item class or item subclass.
# target= - Special option. It changes the target from the default of "target" to any valid unitid. (see below)
# actionbar: - Evaluates 'true' if the current actionbar is the same as the listed one.
NEW OPTIONS: # pet: - Evaluates 'true' if the pet exists. Takes pet type (Owl, Bear, Imp) or pet name (Fluffy, MrBigglesworth). With no modifier (i.e. just [pet]) it evaluates 'true' if ANY pet exists.
# mounted, swimming, flying - Evaluates 'true' if you are mounted, swimming, or flying, respectively.
# indoors, outdoors - Evaluates 'true' if you are indoors or outdoors, respectively.
# button:<#> - Evaluates 'true' if the selected button was used to 'click' the spell, defaults to 1 (see below).
# channeling: - Evaluates true if you are channeling the spell listed. With no spell listed, it evaluates true if any spell is being channeled.
# exists and dead - Evaluates true if your target is dead, or actually exists.
New Macro Command --------------------------- /castsequence - Casts a predetermines set of spells in sequence (See Below) # show - Shows macro feedback for the listed spell
Some additional tricks you can do with the options: You can add 'no' to the beginning of any option (except target) to invert it, i.e. 'nocombat' will only work if you are NOT in combat. Seperating options with a comma ',' will act like an 'and' statement; if both options are true, it executes. Seperating options with a slash '/' will act like an 'or' statement; if either option is true, it executes. Selecting the '?' Icon in the Macro Editor will force the macro to present the icon of the current spell that spell feedback is being given for.
Examples & Stances
Here are some examples to help:
/cast Greater Heal Very simple macro which casts Greater Heal on your target.
/cast [help] Greater Heal One option added. Will cast Greater Heal IF the target is friendly.
/cast [help] Greater Heal; Smite Second spell added. Since it has no option added to it, it will be cast any time the first option fails.
/cast [help, combat] Flash Heal; [help, nocombat] Greater Heal; Smite This macro will cast Flash Heal on a friendly target if you (not the target) are in combat. If you are not in combat and the target is friendly, it will cast Greater Heal. If neither of these is true (i.e. the target is not friendly) it will cast Smite.
/cast [help] Greater Heal; [harm, combat]
|