Here are some macros that are useful on this server.
Companion macros
These macros help you work with the Companions.
Most useful commands
The best commands to macro and keybind somewhere accessible are:
Other commands you might want quick access to:
Most of the others are safe to leave to the CCP addon, but if you want to macro them all, go for it! In particular, using the role arguments with the movement commands like .z comestay can be pretty helpful for positioning your party in dungeons.
Give your Companions orders even if you are dead
You might have noticed that you can't use .z commands while you are dead. That's because the commands are a custom module that isn't native to the client. The default channel is /say, so the client thinks you are just trying to talk in /say, which you cannot do while dead.
There is an easy way around this. Simply prefix your macros with /p. This puts you into the party-chat channel, which you can communicate in whether you are dead or not.
For example:
/p .z start
Tank pull macro
This will have your tank use their ranged ability.
For druids:
/p .z stay tank
/w Tanksname cast Faerie Fire (Feral)
For warriors:
/p .z stay tank
/w Tanksname cast Shoot Bow
The stay tank is necessary because without it, the tank will immediately run towards the mobs instead of waiting for them to come to him, defeating the purpose of the macro. Ideally, you should have the rest of your party stayed somewhere safe behind the tank.
Unfortunately, you have to change the tank's name in your macro every time you hire a new one. You also need 3 macros for Warriors: one for Shoot Bow, one for Shoot Crossbow, and one for Shoot Gun. Since this is a vanilla server, they are all separate abilities instead of being combined into Shoot.
.z follow & .z unfollow 1 button macro
This will use .z follow if your target is friendly; otherwise, it will use .z unfollow.
/run if UnitIsFriend("player", "target") then SendChatMessage(".z follow", "party") else SendChatMessage(".z unfollow", "party")end
General 1.12 macros
These macros are not specific to the Companions, but are generally helpful on this 1.12 server.
Combined Find Herbs and Find Minerals
Since you can learn all professions on this server, this macro will switch between Find Herbs and Find Minerals.
/run if n~= 1 then CastSpellByName("Find Herbs") n=1 else CastSpellByName("Find Minerals") n=0 end
Combined Shoot macro
This combines all three Shoot abilities into one macro.
/run s="Shoot "r="Crossbow"c=CastSpellByName _,_,i= string.find(GetInventoryItemLink("player",18),"item:(%d+).+%[(.+)%]")_,_,_,_,_,w=GetItemInfo(i)if w==r.."s"then c(s..r)elseif w=="Bows"then c(s.."Bow")else c(s.."Gun")end —CastSpellByName("Shoot Gun")
Autoattack macro
To use this macro, you should place your Attack ability in the 1st slot of actionbar 2. This is the "page 2" of the main actionbar that most people do not use. In the default UI you can access it by clicking the little arrows next to the actionbar.
/cast Sinister Strike
/script if not IsCurrentAction(13) then AttackTarget() end;
SuperMacros
These require the SuperMacro addon.
Order a Companion to buff you
This SuperMacro will let you ask a Companion for a specific buff without needing to change the macro for the Companion's name every time you hire a new one.
function IsAlive(id)
if not id then return end
if UnitName(id) and (not UnitIsDead(id) and UnitHealth(id)>1 and not UnitIsGhost(id) and UnitIsConnected(id)) then return true end
end}}
function CompanionBuffMe(class, buff)
if buffed(buff,"player") then return end
TargetUnit("player")
if UnitName("target") ~= UnitName("player") then return end
if GetNumPartyMembers() == 0 then return end
local n=GetNumPartyMembers()
local timer = 0
IndicatorFrame = CreateFrame("Frame",nil,UIParent)
IndicatorFrame:SetScript("OnUpdate", function()
timer = timer + 1
if (timer == 100) then
for i=1,n do
if UnitName("party"..i) and IsAlive("party"..i) and CheckInteractDistance("party"..i, 4) and UnitClass("party"..i) == class then
SendChatMessage("cast "..buff,WHISPER,nil,UnitName("party"..i))
end
end
end
if (timer >= 200) then IndicatorFrame:SetScript("OnUpdate", nil) end
end)
end
How to use this macro:
1. Download SuperMacro.
2. Unzip it in your Inferface/Addon folder.
3. Open the SuperMacro folder.
4. Open the SM_Extend.lua file.
5. Copy the 2 functions from above (function IsAlive() and function CompanionBuffMe(class, buff)) inside the SM_Extend.lua file.
6. Create a macro in game containing the following:
/script CompanionBuffMe(class, buff)
The class and buff need to be specified in quotations.
E.g. /script CompanionBuffMe("Paladin", "Blessing of Might")
7. Move the macro button to your hotbar.
8. Reload your user interface (can be done by relogging).
9. Use the macro.
What this macro does is to look at your party members and whisper those with the specified class to cast the specified buff on you.
Feel free to add your own!