# World of Warcraft: Classic Macros ## General **Sell**: Sell all gray items. ```lua /run local y,i,n,v=0;for x=0,4 do for s=1,GetContainerNumSlots(x)do i={GetContainerItemInfo(x,s)}n=i[7]if n and string.find(n,"9d9d9d")then v={GetItemInfo(n)}q=i[2]y=y+v[11]*q;UseContainerItem(x,s)print('sold',n,q)end;end;end;print(GetCoinText(y)) ``` **ML**: Set master looter to target with gray quality threshold on left-click. Set standard group loot on right-click. ```lua /run if GetMouseButtonClicked() == "LeftButton" then SetLootMethod("master", GetUnitName("target"), 0) else SetLootMethod("group", 2) end ``` **AML**: Automatic Master Loot to own inventory. ```lua /run local f=CreateFrame("FRAME");f:RegisterEvent("LOOT_READY");f:SetScript("OnEvent",function() for i=1,GetNumLootItems() do for c=1,GetNumGroupMembers() do if(GetMasterLootCandidate(i,c)==UnitName("player")) then GiveMasterLoot(i,c) end end end end) ``` **Spam**: Send chat message to a number of channels every 2 minutes. ```lua /run if not m then print('Do /run m="..." first') else local d,t,S,C=130,GetTime(),SendChatMessage,"CHANNEL";l=l or 0;if t>l+d then S(m,C,nil,1);S(m,C,nil,5);S(m,C,nil,6);S(m,"YELL",nil);l=t else print("Next: "..ceil(l+d-t)) end end ``` **Ress**: Use Soul Stone or retrieve corpse. ```lua /run for k, v in pairs(C_DeathInfo.GetSelfResurrectOptions() or {}) do C_DeathInfo.UseSelfResurrectOption(v["optionType"], v["id"]) end;RetrieveCorpse() ``` **Auto-Ress**: Click once to enable automatic Release Spirit and Spirit Healer-resurrection. ```lua /cancelaura Honorless Target /run local f=CreateFrame("FRAME");f:SetScript("OnUpdate",function() RepopMe();AcceptXPLoss();end) -- alternatively, non-automatic: /cancelaura Honorless Target /click StaticPopup1Button1 /target Spirit Healer /run SelectGossipOption(1) /click StaticPopup2Button1 ``` **Quest**: Spammable macro to complete repeatable quest. ```lua /run SelectGossipAvailableQuest(3) #/run SelectGossipOption(2) /click QuestFrameCompleteButton /click QuestFrameCompleteQuestButton ``` **Trade**: Spammable macro to open trade, or accept it once money has been provided. ```lua /run if not TradeFrame:IsShown() then InitiateTrade("target") else if GetTargetTradeMoney() ~= 0 then AcceptTrade() end end ``` **MCCAP**: Use Mind Control Cap on predefined targets, or current target if no such targets exist. ```lua #showtooltip Gnomish Mind Control Cap /cancelaura Honorless Target /use Gnomish Mind Control Cap /targetexact Grep /targetexact Fold ``` **dePoison**: Remove poison, using cheapest consumables first. Anti-Venoms do not share cooldown. ```lua /use Immature Venom Sac /use Anti-Venom /use Strong Anti-Venom /use Powerful Anti-Venom /use Heart of Noxxion /use Elixir of Poison Resistance ``` **Run**: Run! ```lua /use Limited Invulnerability Potion /use Parachute Cloak /use Nifty Stopwatch /use Gnomish Cloaking Device ``` **DI-Sum**: Cancel Divine Intervention and accept summon instantly. ```lua /cancelaura Divine Intervention /click StaticPopup1Button1 ``` **FU**: :D ```lua ............./´¯/) ............/....// .........../....// ...../´¯/..../´¯\ -- FUCK -- .././.../..../..../.| -- YOU -- (.(....(....(..../.)..) .\................\/.../ ..\................. / ....\..............( ``` ## Paladin **DI**: Invite to group and cast Divine Intervention on pre-selected player(s) ```lua #showtooltip Divine Intervention /cleartarget /i Grep /i Fold /targetexact Grep /targetexact Fold /cast [@target,exists] Divine Intervention ``` ## Priest **FH**: Healing hovor-macro. ```lua #showtooltip /use [@mouseover,help,nodead][help,nodead][@player] Flash Heal ``` **Dispel**: Friendly/Enemy dispel-macro. ```lua #showtooltip /use [@mouseover,exists,nodead][exists,nodead][@player] Dispel Magic ``` **deMC**: Spammable macro to dispel Mind Control in raids. ```lua /targetenemyplayer /cast Dispel Magic(Rank 1) ``` ## Warlock **Summon**: Summon, with notification, ```lua #showtooltip /cast Ritual of Summoning /p Summoning %t /ra Summoning %t /run SendChatMessage("Summoning you", "WHISPER", nil, UnitName("target")) ``` **DS**: Drain Soul with auto-targeting. ```lua #showtooltip /targetenemyplayer /cast Drain Soul ``` ## Warrior **Charge**: Charge or Intercept, depending on combat-state. ```lua #showtooltip [nocombat] Charge;Intercept /dismount [mounted] /startattack /cast [nocombat,nostance:1] Battle Stance /cast [nocombat,stance:1] Charge /cast [combat,nostance:3] Berserker Stance /cast [combat,stance:3] Intercept ``` **Berserker**: Always go to Berserker Stance, unless already in it, then go to Defensive. ```lua #showtooltip [stance:1] Battle Stance; [stance:2] Defensive Stance; [stance:3] Berserker Stance /cast [nostance:3] Berserker Stance; Defensive Stance ``` **Interrupt**: Shield Bash if wearing a shield, otherwise Pummel with automatic stance-switch. ```lua #showtooltip [worn:shield] Shield Bash;Pummel /cast [worn:shield,stance:3] Defensive Stance /cast [noworn:shield,nostance:3] Berserker Stance /cast [worn:shield] Shield Bash;Pummel ``` **Taunt**: Taunt with automatic stance-switch. Easily extendable to other spells without too much creativity. ```lua #showtooltip Taunt /cast [nostance:2] Defensive Stance /cast Taunt ``` **Swap**: Switch between shield and duel-wield. ```lua #showtooltip 17 /stopcasting /equipslot 16 Vis'kag the Bloodletter /equipslot 17 Maladath, Runed Blade of the Black Flight /equipslot 16 Maladath, Runed Blade of the Black Flight /equipslot 17 Aegis of the Blood God ```