diff --git a/macros.md b/macros.md new file mode 100755 index 0000000..8671c6c --- /dev/null +++ b/macros.md @@ -0,0 +1,194 @@ +# 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 +```