Add macros.

This commit is contained in:
Casper V. Kristensen 2020-11-21 11:56:04 +01:00
parent c84a9bd048
commit f808f7e5a4
Signed by: caspervk
GPG key ID: 289CA03790535054

194
macros.md Executable file
View file

@ -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
```