- Author: Kyrasis
- Date: February 19, 2022
- Updated: September 10, 2024
- Expansion: World of Warcraft
Blood can make use of a few macros and addons, in particular, to streamline certain actions.
Macros
Hybrid Macro for [Control Undead] and [Raise Dead]:
#showtooltip Control Undead
/target pet
/script PetDismiss()
/click MyTotemFrame1
/cast Raise Dead
/cast Control Undead
This macro will always cast [Raise Dead], but will dismiss your ghoul if you have one already active (IF you have the appropriate weakaura, which can be found later on). [Control Undead] will be used when you don’t currently have a pet, and ,when you do have a pet, the first press will target and dismiss it, while the following press will cast [Control Undead] again (and your now uncontrolled pet is already targeted from the previous macro use); making it useful to re-control a minion. Since [Control Undead] only lasts for 5 minutes, you’ll need to recast it if you plan on keeping something around for longer than that and this macro will also help weave in extra [Raise Dead] casts even in those situations, since you can’t use [Raise Dead] while [Control Undead] is active.
Cast at Cursor Macro for [Death and Decay]:
#showtooltip Death and Decay
/cast [@cursor] Death and Decay
[Death and Decay] is used a lot in our rotation, so time is lost if you need to confirm the AoE when casting the ability. As such, this macro will immediately place [Death and Decay] at your cursor location. There is some learning curve involved in using this macro, but it is a low-cost time save once you are used to it. @player can also be used in place of @cursor to instantly place the AoE on the player location regardless of cursor location, but this gives up a lot of position flexibility.
Cast at Cursor Macro for [Anti-Magic Zone]:
#showtooltip Anti-Magic Zone
/cast [@cursor] Anti-Magic Zone
If desired, this type of macro can also be used for [Anti-Magic Zone] for caster casting with some loss in placement precision. @player can also be used in place of @cursor to instantly place the AoE on the player location regardless of cursor location, but this gives up a lot of position flexibility.
Cast on Self Macro for [Gorefiend’s Grasp]:
#showtooltip Gorefiend’s Grasp
/cast [@player] Gorefiend’s Grasp
While it’s ideal to use [Gorefiend’s Grasp] on a different target when one is available, sometimes the only reliable way to group all enemies is to use yourself as a target of this ability. As such, it can be useful to have an additional keybind dedicated to casting this ability on yourself.
Focus [Mind Freeze] Macro (otherwise at Target):
#showtooltip Mind Freeze
/cast [@focus,exists,nodead] [] Mind Freeze
This is your standard focus-kick macro that uses [Mind Freeze] on your focus target (if you have one and if they are not dead) or on your current target. This is used because it’s not always good to be targeting the enemy you want to kick and it’s a waste of effort swapping targets needlessly. This also lowers the chance of you kicking the wrong target, assuming you have designated your focus target appropriately. In order to support this macro, you will most likely want to use simple focus and clearfocus macros to support it as shown below:
/focus
/clearfocus
Mouseover Macro (otherwise at Target) for [Raise Ally]:
#showtooltip Raise Ally
/cast [@mouseover,help][@target] Raise Ally
[Raise Ally] is an ability that we want to be able to use quickly and with minimal disruption to our normal rotation. This macro allows us to use it on mouseover (which includes mousing over their unit frame), and to (as a backup) use it on your current target. The main benefit of this macro is the fact that we don’t need to swap off of our current target to use [Raise Ally].
Mouseover Macro (otherwise at Target) for [Death Grip]:
#showtooltip Death Grip
/cast [@mouseover,harm][] Death Grip
Some players prefer to have the ability to cast [Death Grip] on enemy mouseover targets instead of just using it on their selected target. Used well, this can allow you to [Death Grip] additional targets without disrupting your rotation on other enemies.
Designated Unit Markers:
/run SetRaidTarget(“target”,7)
While automarkers can streamline a number of things, sometimes it is useful to have the ability to manually designate specific markers quickly; either on its own or as a part of a larger macro. For example, maybe you want to designate your focus target to show that you will be kicking a certain enemy, or maybe you want to point out a high health enemy that everyone should switch to. Numbers 1-8 all designate different markers and I’d recommend 7 for at least one of the binds (the red X) since it is easy to pick out and aligns with our class color.
Addons
While UI design is highly influenced by personal preferences, this section will quickly cover a few high-value addons for M+ that are especially useful to improve your play. This is not a comprehensive list.
Useful Addon List
Mythic Dungeon Tools – https://www.curseforge.com/wow/addons/mythic-dungeon-tools
This addon is the answer to all of your route planning needs and allows you to approach each key with a route in-hand.
MythicPlusTimer – https://www.curseforge.com/wow/addons/mythicplustimer
This addon restyles the M+ timer, shows enemy force contribution, shows the amount of enemy force progress in the current pull, and provides more detailed timer information.
Auto Potion – https://www.curseforge.com/wow/addons/mythicplustimer
This simple addon allows you to bind healing potions and healthstones on the same key, where they will only be used one at a time.
OmniCD – https://www.curseforge.com/wow/addons/omnicd
This addon accurately tracks any party cooldowns you wish to see on your party frames, provides a separate interrupt tracker, and a free-floating “raid cd” tracker that can separately display things like external cooldowns and [Force of Nature]. The default display puts the cooldown information next to each player’s party frames
Threat Plates – https://www.curseforge.com/wow/addons/tidy-plates-threat-plates/screenshots
Nameplates that color-code aggro status to quickly identify enemies you don’t have threat on.
Alternates:
- KUI Nameplates – https://www.curseforge.com/wow/addons/kuinameplates
- Plater (setup required) – https://www.curseforge.com/wow/addons/plater-nameplates
WeakAuras – https://www.curseforge.com/wow/addons/weakauras-2
A powerful addon that provides the means of doing just about anything you’d want it to do. The following sections expand more on this addon.
Useful Premade WeakAuras
Here are some useful WeakAuras that require little to no user customization.
Stun DR Tracker on Nameplates – https://wago.io/HS3Tliu7M
Provides a visual indicator of stun diminishing returns on enemies.
Death Alert – https://wago.io/EyIVaqp9f
Provides a simple text display and sound whenever someone dies, to improve general awareness and reaction time for battle resurrection.
Battle Res Tracker – https://wago.io/CnbP-nyEh
A simple battle resurrection tracker.
HealerWatch: Mana Pool – https://wago.io/NJDqlKp4M
Provides a static display for healer mana supply and their drinking status, as well as displaying mana for shapeshifted druids.
Highest Health Enemy Tracker – https://wago.io/fWICPYF6v
Provides a nameplate graphic on the highest health enemy you are currently in combat with; good for prioritizing targets.
M+ Automarker – https://wago.io/3bViaBtT1
Automates the marking of mobs with important to interrupt abilities with customization options available, so you don’t need to manage it mid-key. (Note: It is suggested to select the checkbox for “Leader mark only” in the custom options, so your automarker won’t fight other people using this or similar weakauras.)
Mythic+ Nameplate Target Warnings – https://wago.io/Hk5EBZ2tX
Why is a Battle for Azeroth weakaura here, you might ask? Because the core ability of this WeakAura is to display the target of casted abilities on an enemies nameplate and that part is still working. This can affect interrupt/CC decisions or give us the ability to use a timely [Anti-Magic Shell]. A small number of abilities consistently do not properly display the correct target for whatever reason, but most will display correctly.
Meeres Spell Cooldowns on Nameplate – https://wago.io/LyVvlKxvs
Curious when an important trash ability is coming off cooldown? This weakaura can help with that. This is particularly useful in large groups of enemies to determine when important stops are about to come up and determining who is going to cast them next. Alternatives exist if you go looking for them, but this is the best I’ve found.
Ghoul Dismiss Macro Enabler – https://wago.io/-Cb1_MJzC
This weakaura allows for the “/click MyTotemFrame1” macro command to dismiss your guardian ghoul from [Raise Dead]. This command will not work otherwise.
Do-It-Yourself WeakAuras
While templates are an option for very basic weakauras, a large majority of anyone’s weakaura needs can be satisfied if you know how to use triggers connected with AND, OR, and NOT relationships to determine when a weakaura is triggered. Here is a quick overview of how to set up these weakaura specifically when using a trigger custom function.
Weakaura Activation
Regardless of the weakaura type you are working with, the trigger tab is where you set up the logic for when weakauras are active. Under “Required for Activation” you will have three options:
- All Triggers – The weakaura will only activate if all trigger conditions are met.
- Any Triggers – The weakaura will activate if any trigger condition is met.
- Custom Function – The weakaura will activate depending on the user-defined trigger relationship.
While “All Triggers” or “Any Triggers” are sometimes good enough, being able to use “Custom Function” gives you a lot more flexibility when creating weakauras.
Custom Function
In the trigger tab under “Custom”, you can use the following script (the colored portion portion is the portion you want to customize depending on what you are trying to do):
function(trigger)
return trigger[1] and (not trigger[2] or trigger[3]);
end
For example, using the above script, the weakaura will be active when the condition for Trigger #1 is met, but only when either the conditions for Trigger #2 are not met or the conditions for Trigger #3 are also met.
So, other than the numbered triggers themselves, any user just needs to make good use of:
- And – to connect two conditions that both need to be true
- Or – to connect two conditions where only one needs to be true
- Not – to make a condition true when the trigger is not met
- ( ) – to force enclosed conditions to process into a true or false condition before interacting with the rest of the logic
The above script can be modified to include any number of triggers and with any number of relationships, with some more complicated examples shown below:
function(trigger)
return not (trigger[1] and (trigger[2] or trigger[3])) and (trigger[4] or trigger[5]) and trigger[6] and not (trigger[7] or trigger[8]);
end
function(trigger)
return not (trigger[1] and ((trigger[2] and trigger[18]) or (trigger[19] and trigger[20]) or (trigger[21] and trigger[22]))) and trigger[3] and not (trigger[4] or (trigger[5] and (trigger[6] or trigger[7] or trigger[8] or trigger[9] or trigger[10] or trigger[11]))) and (trigger[12] or (trigger[13] and trigger[14] and trigger[15] and trigger[16]) or (trigger[13] and trigger[14] and trigger[23])) and not trigger[17];
end
Useful Triggers
This is not a comprehensive list of options, but it is a list of triggers that can satisfy a majority of user weakaura needs.
Health (%) or Power
Type: “Player/Unit Info” (“Health” or “Power” or “Death Knight Rune”)
Allows you to specify a fixed or % range for health or almost any class resource type.
Action Usable
Type: “Spell” “ Action Usable”
Allows you to specify when an ability is usable.
Spell Cooldown/Charges
Type: “Spell” “Cooldown/Charges/Count”
Allows you to specify cooldown and spell charge conditions.
Item Cooldown Progress
Type: “Item” (“Cooldown Progress (Item)” or “Cooldown Progress (Slot)”)
Allows you to specify cooldown conditions for a specific item or an equipped item slot.
Buff/Debuff Status
Type: “Aura”
Unit: “Player”, “Target”, or “Focus” (other options are available)
Aura Type: “Buff” or “Debuff”
Allows you to specify a range of buff/debuff durations, stacks, or just the existence of certain types of debuffs being active on a unit (curses, diseases, ect.). If tracking your own debuffs, it may be helpful to select “Own Only” so it doesn’t pick up on copies of the same debuff from other players of the same class.
Combat and Pet Status
Type: “Player/Unit Info” “Conditions”
Allows you to specify combat status or if you have a pet active.
Specify Load Conditions
The load tab lets you apply general restrictions for when the weakaura can trigger, including:
- Player Class and Specialization
- Group Type
- Instance Type
- Talent Selection
Quick Notes on Weakaura Types
Texture – Textures are simple and useful, displaying the texture of your choice when the weakaura is triggered.
Icon – Similar to textures, but allows you to specify an in-game icon.
Group – An organization tool for other weakauras that, depending on how weakauras are ordered, allows you to control which weakauras visually overlap others when they are stacked on top of each other. (The bottom of the group is the top of the stack).
Text – Allows you to display specific information based on your “Dynamic information” settings on the trigger tab unless you specify the trigger in the “Display Text” inputs.
Progress Bar/Texture – Allows you to display a specified progression on a bar or texture based on your “Dynamic Information” settings on the trigger tab.