Dual Wield Fury Warrior AOE (Simple Annotations)
About 1 min
Dual Wield Fury Warrior AOE One-Button Clear (Simple Annotations)
Step 1: Open the Heitu client → click "Super Macro" → create a new macro → paste the code below.
Step 2: Create a regular macro in-game with /s S AOE_DualWield(), bind it to a key.
-- ============ Dual Wield Fury Warrior AOE One-Button Macro ============
-- Priority: health potion survival > Bloodrage > Battle Shout > Death Wish > Bloodthirst/Whirlwind/Cleave > trinkets
-- Usage: /s S AOE_DualWield()
function AOE_DualWield()
-- Spell/item ID constants
local SPELL_BLOODRAGE = 2687 -- Bloodrage
local SPELL_BATTLE_SHOUT = 25289 -- Battle Shout (max rank)
local SPELL_BLOODTHIRST = 23894 -- Bloodthirst
local SPELL_WHIRLWIND = 1680 -- Whirlwind
local SPELL_DEATH_WISH = 12328 -- Death Wish
local SPELL_CLEAVE = 20569 -- Cleave (instant, no CD)
local ITEM_SPIDER = 22954 -- Kiss of the Spider
local ITEM_SAND = 21647 -- Sandstalker Figurine
local ITEM_HEAL_POT = 13446 -- Major Healing Potion
-- Batch-read all states at once to reduce API calls
local me = GetMeInfo()
local hpPercent = me and (me.health / me.maxHealth * 100) or 100
local healPotCD = SCT(ITEM_HEAL_POT)
local inCombat = IsCombat()
local rage = Power(1)
local brCD = SCT(SPELL_BLOODRAGE)
local dwCD = SCT(SPELL_DEATH_WISH)
local btCD = SCT(SPELL_BLOODTHIRST)
local wwCD = SCT(SPELL_WHIRLWIND)
local shoutLeft = AuraRemainingTime(SPELL_BATTLE_SHOUT)
local spiderCD = SCT(ITEM_SPIDER)
local sandCD = SCT(ITEM_SAND)
-- 1. Auto-use Major Healing Potion when HP falls below 40% (highest priority, before Bloodrage)
if hpPercent < 40 and healPotCD <= 0 then
M('/use Major Healing Potion')
healPotCD = SCT(ITEM_HEAL_POT)
end
-- 2. Bloodrage to generate rage
if rage < 26 and brCD <= 0 then
S(SPELL_BLOODRAGE)
rage = Power(1)
brCD = SCT(SPELL_BLOODRAGE)
end
-- 3. Refresh Battle Shout
if rage > 9 and shoutLeft <= 0 then
S(SPELL_BATTLE_SHOUT)
rage = Power(1)
shoutLeft = AuraRemainingTime(SPELL_BATTLE_SHOUT)
end
-- 4. Death Wish burst
if rage > 9 and dwCD <= 0 then
S(SPELL_DEATH_WISH)
rage = Power(1)
dwCD = SCT(SPELL_DEATH_WISH)
end
-- AOE output parallel checks
if rage > 29 and btCD <= 0 then
S(SPELL_BLOODTHIRST)
rage = Power(1)
btCD = SCT(SPELL_BLOODTHIRST)
end
if wwCD <= 0 and rage > 24 then
S(SPELL_WHIRLWIND)
rage = Power(1)
wwCD = SCT(SPELL_WHIRLWIND)
end
if rage > 19 then
S(SPELL_CLEAVE)
rage = Power(1)
end
-- Auto-use trinkets, refresh CD variables after each use
if inCombat then
if spiderCD <= 0 then
M('/use Kiss of the Spider')
spiderCD = SCT(ITEM_SPIDER)
end
if sandCD <= 0 then
M('/use Sandstalker Figurine')
sandCD = SCT(ITEM_SAND)
end
end
end