Macros Need to Downrank @ Friendlies

Normal behavior: using a plain spell from your actionbar on a low level ally will automatically downrank the spell as needed to heal the target

Macro behavior: spell is not cast, says “Target is too low level”

In other words, I have to swap to a separate bar without macros on it whenever I want to heal or buff random lowbies I pass by. This is not authentic and has been a problem for Classic for years. Macros should be smart enough to downrank spells so they are successful.

I am once again asking, btw.

3 Likes

They should also get rid of goto in C++.

1 Like

The work-around is to use /click and point to a hidden actionbar with non-macro forms of the spells needed. From memory an example:

#showtooltip
/click [mod:shift,help,nodead] MultiBarLeftButton1;[help,nodead] MultiBarLeftButton2;
/stopmacro [noharm]
/startattack
/cast [mod:shift] Moonfire(Rank 8); Moonfire

if you want real authentic then it really depends of what version you are playing of vanilla, that’s a complex problem; where you slate that. I don’t think auto down rank was a thing tho until 2.o (tbc prepatch).

Previous to TBC you had to manual select your buffs.

Other interesting rules regarding friendly buffs was before TBC prepatch you could buff any friendly NPC who’s not hostile, this function was eliminated in TBC to prevent griefing of enemy players. Again not authentic to Vanilla and should never have been part of Classic Era or Classic 2019.

Full authentic? Lowbies were allowed to be hit with max rank buffs, lol
I remember buzzing around Razor Hill with a level 60’s Thorns on and stuff just dies for hitting you.
But naturally, at some point they put limiters to reduce twinking potential. And that’s fine, but downranking should work as intended then.

1 Like

That is my point; this server is not authentic and the automatic down rank function was not added until 2.0 (TBC) And while they do have the implemented here, the macro function is bust. =(

I’m more leaning toward the blame resting on Classic being a Legion based client, when spells no longer had ranks at all. And then whatever they did to reverse engineer it.

yeah that’s a big part of it because they had to make all the spells work similar to “Vanilla” but there is so many little details that they cant possibly get it all working while having 4 different versions of the game on the same player side client while at the same time making changes constantly to that client for 4 different games.

If say they gave each version its own player side client it would likely be a ton more dependable and accurate.

1 Like

Trying to make this work with a mouseover.
Not sure that’s possible with a nonmacro button, though.

My generic script is basically this:
/cast [mod,@player][@mouseover,help][@target,help][@targettarget,help][] Regrowth

They got rid of click macros, or have they returned?

But then how can we make spaghetti code to royally annoy our lecturers?

1 Like

/click [mod,@player][@mouseover,help][@target,help][@targettarget,help][] MultiBarLeftButton3;

I think that would work is MultiBarLeftButton3 held max rank Regrowth from spellbook. I never use mouseover but found an old macro from a level 40ish druid in SoM

#showtooltip [help]Rejuvenation;[mod:shift]Moonfire(Rank 6);Moonfire
/startattack [harm]
/cast [mod:shift,harm]Moonfire(Rank 6);[harm]Moonfire
/stopmacro [nohelp][dead]
/click [mod:shift] MultiBarLeftButton4; MultiBarLeftButton3

I also had a eat/drink macro on my hunter that took into account current hp/mp and pet happiness as a chain of 3 clicks.

/run w,f,u,t,c,l="item:1645","/use item:13930\n","item:8077","/cast Feed Pet\n/use item:13930\n","P"
/run g=((GetItemCount(u)>0) and u or w)
/run g=g.."\n"
/run EditMacro(c,c,nil,"#showtooltip "..g)
/run g="/use "..g
/click MultiBarLeftButton5

/run e=GetPetHappiness() if(e==nil) then l="" elseif e<3 then l=t end;
/run h=((UnitHealth("player")/UnitHealthMax("player")*100)<85 and f)
/run m=((UnitPower("player")/UnitPowerMax("player")*100)<85 and g)
/click MultiBarLeftButton6

/run local d=GetMacroBody(c)EditMacro(c,c,nil,d..l)
/run local d=GetMacroBody(c)EditMacro(c,c,nil,d..h)
/run local d=GetMacroBody(c)EditMacro(c,c,nil,d..m)
/click MultiBarBottomLeftButton12

It did calculations to edit the food/water macro and then click it after it had been edit’d. Was years ago. The macro being edit’d had to be named “P” (defined as global variable c in first line). The global variable l was set to null as a way to reset macro to empty before repopulating it.

done editting sorry formatting was tough

Fine effort, but it seems to be ignoring these conditionals

hmm okay I’m going to login and see if I can find a workaround

edit: seems like /click doesn’t work at all :frowning:

1 Like

Probably, the delete grays /run I had was broken at some point.
A lot of restricted API now thanks to botters.

Why am I even paying for this game. They won’t stop exerting coercive control. I legit don’t want to play anymore :frowning:

1 Like

I thought /click functionality was broken a few patches ago. Did this get fixed?

I just popped on my era character for a look and the /click macros do still work in classic era. It seems to be disabled on the 20th anniversary server and maybe it was in SoD I skipped that one.

edit: just made a 20th anniversary HC character and can /click ActionButton3 to cast healing touch. Maybe its fixed I’ll check on anniverary pvp server next.

2 Likes

/click works, but they did make a change such that it no longer works to chain macros. So, you can /click a spell that is keybound. but you cannot replace that keybind with another macro such that you /click from one macro to another, etc.

1 Like