В теме https://elysium-project.org/forum/index.php?showtopic=5272&st=0 я не нашел ни одного макроса, работающего под классикой. Здесь я выложу свои макросы с описанием. Может быть кому-нибудь пригодятся. 
Макрос 1: смена оружия для тыловой атаки 
/script WeaponSwap("Пылающая игла","Мегатесак Зорбина") 
Назначение: кладет в основную руку кинжал для проведения ambush или backstab. 
Описание: данный макрос содержит всего одну функцию WeaponSwap, меняющюю оружие. 
Примечание: для работы требуется аддон WeaponQuickSwap. В названии нужно писать название, которое у вас появляется при наведение на оружие, без перевода. 
Макрос 2: смена оружия для фронтовой атаки 
/script WeaponSwap ( "Разбившаяся звезда of the Tiger" ,"Мегатесак Зорбина") 
Назначение: кладет в основную руку булаву для более мощного Sinnister strike. 
Описание: данный макрос содержит всего одну функцию WeaponSwap, меняющюю оружие. 
Примечание: для работы требуется аддон WeaponQuickSwap. названии нужно писать название, которое у вас появляется при наведение на оружие, без перевода. 
Макрос 3: тыловая атака в стелсе 
/script if (IsShiftKeyDown()) then //если зажат shift, то 
CastSpellByName("Cheap shot") //кастует Cheap Shot 
else //в противном случае 
if(IsUsableAction(83)) then //если возможно действие в 83 слоте, то кастуется  
CastSpellByName("Ambush") //ambush(http://www.wowwiki.com/ActionSlot, в моем случае на 83 слоте backstab, т. е. фактически совершается проверка, находиться ли персонаж позади цели, и есть ли у него в руке кинжал. 
else UseAction(80) ; //если проверка не пройдена то выполняется действие в слоте 80(макрос 1: смена оружия для тыловой атаки) 
end  
end 
Макрос 4: бекстаб 
/script if(IsUsableAction(82)) then //если возможно действие в 82 слоте (бекстаб), то 
UseAction(82) //выполнить действие в 82 слоте (бекстаб) 
else //в противном случае 
UseAction(80) //выполнить действие в 80 слоте (макрос 1: смена оружия для тыловой атаки) 
end 
Макрос 5: фронтовая атака 
/script start,duration,enable= GetActionCooldown(10); //считывается кулдаун действия в 10 слоте(Ghostly strike) 
/script UseAction(81) //выполняется действие в 81 слоте (Макрос 2: смена оружия для фронтовой атаки) 
/script if (IsShiftKeyDown())then //если зажат шифт-выполняется Evasion  
CastSpellByName("Evasion") 
else //в противном случае 
if (start==0) then // если действие в 10 слоте(Ghostly strike) готово, то 
UseAction(10) //выполняется действие в 10 слоте(Ghostly strike) 
else //в противном случае 
CastSpellByName("Sinister Strike") //выполняется Sinnister strike 
end  
end  
Макрос 6: атаки, требующие комбо поинты. 
/script if(UnitMana("player")==25) then //если энергия равна 25 
CastSpellByName("Slice and Dice") //выполняется Slice and Dice 
else //если не равна 25 
CastSpellByName("Eviscerate") //выполняется Eviscerate 
end; 
/script if(IsUsableAction(82)) //если возможно действие в 82 слоте (бекстаб) 
UseAction(81) //выполняется действие в 81 слоте (Макрос 2: смена оружия для фронтовой атаки) 
Макрос 7: станы 
/script start, duration, enable = GetActionCooldown(8);//считывается кулдаун действия в 8 слоте(Kidney shot) 
/script if (GetComboPoints()>1 and start==0) then  //если больше 1 комбо поинта и Kidney Shot доступен 
UseAction(8) //выполняется Kindey Shot 
else //в противном случае 
CastSpellByName("Gouge") //выполняется Gouge 
end  
/script UsеAction(80) //выполняется действие в 80 слоте (макрос 1: смена оружия для тыловой атаки). Функция нужна для дополнительной подготовки к бекстабу после стана, т. к. оружие меняется не мгновенно. 
Макрос 8: спринт 
/script start, duration, enable = GetActionCooldown(9);//считывается кулдаун действия в 9 слоте(Sprint) 
/script if (start==0) then //если действие в 9 слоте(Sprint) готово, то 
CastSpellByName("sprint") //выполняется Sprint(можно было также использовать функцию UseAction(9), для экономии символов) 
else //в противном случае 
UseAction(12) //выполняется действие в 12 слоте (Swiftness Potion) 
end 
Макрос 9: стелс 
/script start, duration, enable = GetActionCooldown(11);//считывается кулдаун действия в 11 слоте(Stealth) 
/script if (start==0) then //если Stealth готов, то  
UseAction(11) //выполняется Stealth 
else //в противном случае 
CastSpellByName("Shadowmeld") //выполняется Shadowmeld 
end 
PS готовые макросы 
Макрос 1: смена оружия для тыловой атаки 
/script WeaponSwap("Пылающая игла","Мегатесак Зорбина") 
Макрос 2: смена оружия для фронтовой атаки 
/script WeaponSwap ( "Разбившаяся звезда of the Tiger" ,"Мегатесак Зорбина") 
Макрос 3: тыловая атака в стелсе 
/script if (IsShiftKeyDown())then CastSpellByName("Cheap shot") else if(IsUsableAction(83)) then  CastSpellByName("Ambush") else UseAction(80) ; end end 
Макрос 4: бекстаб 
/script if(IsUsableAction(82)) then UseAction(82) else UseAction(80) end 
Макрос 5: фронтовая атака 
/script start,duration,enable= GetActionCooldown(10); 
/script UseAction(81) 
/script if (IsShiftKeyDown())then  CastSpellByName("Evasion") else  if (start==0) then UseAction(10) else CastSpellByName("Sinister Strike")end end  
Макрос 6: атаки, требующие комбо поинты. 
/script if(UnitMana("player")==25) then CastSpellByName("Slice and Dice") else CastSpellByName("Eviscerate") end; 
/script if(IsUsableAction(82)) then UseAction(81) end 
Макрос 7: станы 
/script if (GetComboPoints()>1 and  start==0) then UseAction(8) else CastSpellByName("Gouge") end  
/script if(IsUsableAction(82)) then UseAction(82) else UseAction(80) end 
Макрос 8: спринт 
/script start, duration, enable = GetActionCooldown(9); 
/script if (start==0) then CastSpellByName("sprint") else UseAction(12) ;end 
Макрос 9: стелс 
/script start, duration, enable = GetActionCooldown(11); 
/script if (start==0) then UseAction(11) else CastSpellByName("Shadowmeld"); end