kapresoft / wow-addon-actionbar-plus

Action Bar Plus Addon for World of Warcraft
5 stars 1 forks source link

M6: Use M6 Macro Name instead of the Blizzard Macro Name #264

Closed nfet closed 1 year ago

nfet commented 1 year ago

Epic: #258

Bug

With the new ABP version, the example from the OP now shows the correct icon, but the labels are still missing:

WoWScrnShot_041723_181621

Also the tooltip does not show the label (it just shows the macro text from the stub, e.g. _M6+s07)

The label is constructed with #label <labeltext> in M6. See the screenshot in the first spoiler of the OP.

The labels are not super-hyper-important, but, as you can see in the example, they can be pretty helpful to identify the content of the macros. (In this case they set the posting quantity in Auctionator to a predefined number.)

Originally posted by @tflo in https://github.com/kapresoft/wow-addon-actionbar-plus/issues/256#issuecomment-1511712331

nfet commented 1 year ago

Here's a preview of upcoming label and tooltip names support for M6 Spell type macros

M6 Macro Contents

/castsequence [@player]  reset=10 Mage Armor, Arcane Intellect

Initial State

Initial Icon is Mage Armor

image

First Click

After first click, the icon is updated to Arcane Intellect

image

After 10 Seconds (reset=10)

tflo commented 1 year ago

Thanks for the preview, that's great!

For the sake of completeness, does the icon also work with /qsequence?

/qsequence [@player] Mage Armor, Arcane Intellect

And with the states via flags, e.g. my Rogue healing macro:

#label cv/hp
/cast [btn:1,combat,flag:potion] Refreshing Healing Potion; [btn:1] Crimson Vial
/cycleflag [combat] potion 
/setflag [nocombat] potion=

Or the [visual] conditional?

nfet commented 1 year ago

I have read through the M6 addon code to understand most of what it's doing. Just a heads up that I am planning to revert all the M6 code within ActionbarPlus and spin off a new addon called ActionbarPlus-M6. I need to come up with a cleaner and more modularized solution. Sorry for the inconvenience but I will try to push on the implementation as fast as possible.

Cheers,

tflo commented 1 year ago

to understand most of what it's doing

Yeah, I don't understand everything it does yet either ;)

I am planning to revert all the M6 code within ActionbarPlus and spin off a new addon called ActionbarPlus-M6

That's interesting. I feel a bit bad now that I have triggered all this work (considering that probably not too many people use M6 and ABP at the same time). The ActionbarPlus-M6 will also work with "normal" macros, right? Or will it be M6 exclusive?

Sorry for the inconvenience but I will try to push on the implementation as fast as possible

No hurry! M6 macros work on ABP and the icons are there now, that's the most important thing.

In the previous post where I asked about icon compatibility with /qsequence, flags and [visual], I said "for the sake of completeness" because I don't currently use macros with those features on any ABP bar, so no problem for me at all!

nfet commented 1 year ago

That's interesting. I feel a bit bad now that I have triggered all this work (considering that probably not too many people use M6 and ABP at the same time). The ActionbarPlus-M6 will also work with "normal" macros, right? Or will it be M6 exclusive?

ActionbarPlus will work with normal blizz macros. I have a version of code that supports M6 now in a branch. The more I was coding this it just made sense to push this code to another addon. This is actually interesting work and I'm understating this. M6 actually integrates/hooks directly to the blizzard actionbar functions and this is the reason that it doesn't function correctly in ABP.

ActionbarPlus

The above structure works well as far as usability, stability and code maintenance. Even if we might think not too many people use M6 with ActionbarPlus, I still feel like M6 deserves a clean integration in ABP.

In the previous post where I asked about icon compatibility with /qsequence, flags and [visual], I said "for the sake of completeness" because I don't currently use macros with those features on any ABP bar, so no problem for me at all!

Don't feel bad, I just forgot to reply to let you know that, the way I've integrated ABP currently, all of the qsequence, flags, visual, etc works. I'm actually learning a lot. Also, I am planning to create a new addon called ActionbarPlus-Masq to integrate Masq addon as well (a user request)

The branch is here (and it's stable), but I wouldn't rely on this branch to remain the same (I'm always force pushing)

nfet commented 1 year ago

Correct display of labels of M6 macros are currently my main (and only) issue. But that's another thread. πŸ€ͺ

I'm made significant progress on ActionbarPlus-M6. I developed it under WOTLK. I just need wrap things up and make sure it works in retail. I just need to finalize/wrap up the m6-main-addon branch and should be good to go for the first release.

https://github.com/kapresoft/wow-ActionbarPlus-M6/releases/tag/0.0.1 (Alpha)

tflo commented 1 year ago

Tranquilo. Just wanted to get rid of the Red bag (BugSack).

The rest is already fine for me, I have an icon for my M6 macros, so that i can at least identify them. The gory stuff, like labels and such later…

Many thanks for your work and for your awareness and responsiveness!

– Tom

nfet commented 1 year ago

For the initial implementation, this is what I have. It can be improved in the future.

Tootlip Info: Without #label <label>

Use the M6 Macro Name

image

Tooltip Info: If a #label <label> is defined

Use the Label name

image

The M6-Name will be placed in (#2) and Label will be used in (#3), The (#1) is the actual macro name.

nfet commented 1 year ago

Here's another. Holding down SHIFT while mouseover will show macro details.

Screenshot 2023-04-29 at 2 12 36 PM

tflo commented 1 year ago

Oh, this is nice! πŸ™‚

nfet commented 1 year ago

Hi There,

ActionbarPlus-M6 1.0.0 is out :-) Party! πŸ₯³. You have to get the latest ActionbarPlus 2023.4.12 as well. I have tested in Retail, Classic, and Classic Era. Good Luck & have fun.

Switching specs is a bit hoaky because the M6 profiles re-uses the wow macros and ABP currently does not support profile-per-specialization settings.

The add-on has dependency on both ABP and M6.

https://legacy.curseforge.com/wow/addons/actionbarplus-m6/files https://legacy.curseforge.com/wow/addons/actionbarplus/files

Cheers,

tflo commented 1 year ago

I don't want to be the party killer β€” and I'm sure it's a small thing, but I get this:

44x ...rfaceActionbarPlus-M6/Core/Lib/M6Support.lua:285: attempt to index field '?' (a nil value)
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:285: in function `profile'
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:467: in function `InitializeHooks'
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:505: in function <...rfaceActionbarPlus-M6/Core/Lib/M6Support.lua:499>
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:24: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:20>
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:59: in function `SendMessage'
[string "@ActionbarPlus/Core/Lib/Widget/ActionbarPlusEventMixin.lua"]:301: in function <...nbarPlus/Core/Lib/Widget/ActionbarPlusEventMixin.lua:301>

Clicks seem to work fine though. The error then gets thrown again with every mouseover over an M6 macro button on ABP.

This is with both ABPs loaded, and happens also with (almost) no other addons:

WoWScrnShot_050123_004719

After a reload, the M6 macros I've put on a bar before, turn green. Until I move them, then the icon comes back.

nfet commented 1 year ago

Taking a look now....

nfet commented 1 year ago

I knew it. It was too early to celebrate :-).

I can't repro on my side, but this seems like not being able to access the M6DB. The add-on needs to access action the M6 character profile in able to get information about each m6 action.

What does this give you on the console?

/dump M6DB

Line 285 calls db() which returns M6DB. https://github.com/kapresoft/wow-ActionbarPlus-M6/blob/476318c622ae9be2e9d0f837638647335cd7acd7/Core/Lib/M6Support.lua#L280-L285

Screenshot 2023-04-30 at 4 59 32 PM

Also, could I get you to try it on a character that has not used the M6 add-on before?

I made a small patch 1.0.1 to log on the console if M6DB is not accessible.

nfet commented 1 year ago

...and I'm gonna keep poking around. I'm sure I can find the issue soon enough.

tflo commented 1 year ago

What does this give you on the console?

/dump M6DB

Well, it returns the whole M6 database.

tflo commented 1 year ago

Loaded your 1.0.1 now. It returns this line after reload:

{{ActionbarPlus-M6}}: 1.0.1 Initialized

The error seems to be the same, with shifted line numbers:

1x ...rfaceActionbarPlus-M6/Core/Lib/M6Support.lua:291: attempt to index field '?' (a nil value)
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:291: in function `profile'
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:473: in function `InitializeHooks'
[string "@ActionbarPlus-M6/Core/Lib/M6Support.lua"]:511: in function <...rfaceActionbarPlus-M6/Core/Lib/M6Support.lua:505>
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:24: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:20>
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:59: in function `SendMessage'
[string "@ActionbarPlus/Core/Lib/Widget/ActionbarPlusEventMixin.lua"]:301: in function <...nbarPlus/Core/Lib/Widget/ActionbarPlusEventMixin.lua:301>
tflo commented 1 year ago

The problem could be your GetNormalizedRealmName() in line 290.

The normalized name of my realm is AzjolNerub. But in the M6 profile it's the non-normalized name (Azjol-Nerub).

tflo commented 1 year ago

Yeah, no errors with:

        local realm, name = GetRealmName(), UnitName("player")

Line 290, M6Support.lua

tflo commented 1 year ago

OK, I think you can party now πŸ˜€

Just a minor cosmetic issue: There are double colons (::) in the tooltip:

WoWScrnShot_050123_024533
tflo commented 1 year ago

And, damn, the shift-tooltip with the macro text is really useful!

What you have done has exceeded all my expectations!

nfet commented 1 year ago

Yeah, no errors with:

        local realm, name = GetRealmName(), UnitName("player")

Line 290, M6Support.lua

Wow. Good catch. πŸ‘ I don't know why I picked GetNormalizedRealmName() when I totally saw that m6 Core.lua uses GeatRealmName(). Will put out a fix shortly.

nfet commented 1 year ago

And, damn, the shift-tooltip with the macro text is really useful! What you have done has exceeded all my expectations! Nice! This is great to hear! I wish that the "spellID" values were converted to real spell names though. Well see what the future holds.

tflo commented 1 year ago

OK, but now the real problem is – quoting you – :

Switching specs is a bit hoaky because the M6 profiles re-uses the wow macros and ABP currently does not support profile-per-specialization settings.

Actually this means that any M6 macro I put on an ABP bar will change to something else (or empty) when I switch chars.

I didn't notice that until now, because the only toons where I fully switched from a Blizz action bar full with M6 macros to an ABP bar with the same macros, were my AH toons. And there, the macros remained "stable" between the toons. (It's the bar shown in the OP.)

And I think I know now why this is…

I deactivated the old Blizz action bars with the M6 macros, but I did not delete the macros from them. So, M6 reliably recreates the macros on both AH toons because they are persistently still present on the (hidden) Blizz action bars.

And I guess in the moment when I remove the macros from the Blizz bars, they will get completely messed up on the ABP bar, depending on which macros M6 actually puts into the macro slots at login.

tflo commented 1 year ago

Well, actually they don't even work on AH toon #2. The icons are the same, but hovering over the buttons produces this:

{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0d macro=_M6+s0d
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0e macro=_M6+s0e
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s12 macro=_M6+s12
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s11 macro=_M6+s11
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s10 macro=_M6+s10
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0f macro=_M6+s0f
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s10 macro=_M6+s10
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s11 macro=_M6+s11

… and they actually don't work.

I thought they worked until recently, but I'm not sure now because it's been a while since I've been on that toon.

nfet commented 1 year ago

OK, I think you can party now πŸ˜€

Just a minor cosmetic issue: There are double colons (::) in the tooltip:

WoWScrnShot_050123_024533

The Drain Soul :: <name or label> is intentional. For M6 Macro :: and Name :: I'll have a fix shortly

nfet commented 1 year ago

Well, actually they don't even work on AH toon #2. The icons are the same, but hovering over the buttons produces this:

{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0d macro=_M6+s0d
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0e macro=_M6+s0e
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s12 macro=_M6+s12
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s11 macro=_M6+s11
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s10 macro=_M6+s10
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s0f macro=_M6+s0f
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s10 macro=_M6+s10
{{ActionbarPlus-M6::M6Support}}: Failed to show tooltip for unknown actionID, slotID=s11 macro=_M6+s11

… and they actually don't work.

I thought they worked until recently, but I'm not sure now because it's been a while since I've been on that toon.

My workaround (without M6) currently is to have a profile for each spec in the Profiles menu. I do have to manually switch ABP profile after switch spec. It's a bit manual but the Ace3 config support is fairly easy to use, i.e. copy current profile into a new one...just mentioning in case you have not used this before.

After setting up a profile for each spec, my steps are: 1) Switch Talent 2) /abp conf 3) In profiles menu, select the profile and reload (A bit manual at the moment)

I'm getting closer to formulating a solution for switching profiles. The tracking issue is #167 "Dual Spec Support"

image

tflo commented 1 year ago

But keep in mind that the main advantage of ABP over the regular action bars is that you can have global bars, i.e. cross-char bars. (Well, at least for me this is the reason for using ABP.)

Having to recopy profiles for 20 toons every time I make a change would kind of defeat the purpose, right?

nfet commented 1 year ago

OK, but now the real problem is – quoting you – :

Switching specs is a bit hoaky because the M6 profiles re-uses the wow macros and ABP currently does not support profile-per-specialization settings.

Actually this means that any M6 macro I put on an ABP bar will change to something else (or empty) when I switch chars.

I didn't notice that until now, because the only toons where I fully switched from a Blizz action bar full with M6 macros to an ABP bar with the same macros, were my AH toons. And there, the macros remained "stable" between the toons. (It's the bar shown in the OP.)

And I think I know now why this is…

I deactivated the old Blizz action bars with the M6 macros, but I did not delete the macros from them. So, M6 reliably recreates the macros on both AH toons because they are persistently still present on the (hidden) Blizz action bars.

And I guess in the moment when I remove the macros from the Blizz bars, they will get completely messed up on the ABP bar, depending on which macros M6 actually puts into the macro slots at login.

m6 plays magic underneath those _M6+<slotID> macros, i.e. _M6+s01, _M6+s02, etc...

In one profile (same char different talent), s01 could be pointing to actionID #1. When switching specs, now s01 could be pointing to actionID #2. It's apparent in the SavedVariables/M6.lua file. So the old action button no longer has the same information before it switched spec.

I believe having a different ABP profile should mitigate this issue but it's a temp fix.

nfet commented 1 year ago

I believe having a different ABP profile should mitigate this issue but it's a temp fix.

Correction, having a different character profile per spec should mitigate this issue but it's a temp fix.

nfet commented 1 year ago

v. 2023.4.1 is out https://legacy.curseforge.com/wow/addons/actionbarplus-m6/files/4514904

Cheers!

nfet commented 1 year ago

I tested in 'Azjol-Nerub' and 'Blood Furnace' to be sure.

tflo commented 1 year ago

but it's a temp fix

Happy to hear that :-)

nfet commented 1 year ago

I just tried the profile-per-talent-spec setting and seems to work fine.

Switch talent, then switch ABP profile. For this character Belat::BF:Disc and Belat::BF:Shadow. You would need to drag and drop the M6 macros to ABP for each spec profile switch though, i.e. the _M6+s01 macro in one spec may or may not be the same M6 action for another spec.

image

nfet commented 1 year ago

but it's a temp fix

Happy to hear that :-)

...and thank you for the help!

tflo commented 1 year ago

You would need to drag and drop the M6 macros to ABP for each spec profile switch though

Hm, probably this explains why my AH toon #2 has lost the correct macro attributions: Both AH toons share the same"AH" profile, but when I switch to one of the other, non-AH, toons (which all share the same "Default" profile) then the attributions get lost or mixed up?

But why are the macro attributions not lost then also on AH toon #1? (She has the macros also on a hidden Blizz action bar, but so does AH toon #2.)

And why do the icons remain intact on AH toon #2?

nfet commented 1 year ago

And why do the icons remain intact on AH toon #2?

In ActionbarPlus? The ActionbarPlus-M6 addon records that last known icon, which may or may not be a bad idea (still unsure of this). If it can't find the M6 Macro(Action), hence no icon, it uses the last known icon. This might be the reason. For the standard blizz action bar, It will be the green icon I think.

For the standard blizz action bar, It will be the green icon I think.

CORRECTION: It looks like standard action slot reverts to the ? icon.


For the behavior of M6 in terms of profile data, here comes the long-winded answer...

Here's an example M6 with a blank profile for my Blood Furnace retail account with some M6-Macro (called Actions ). The index of each actions are referred to in M6 code as Action Index or ID.

By default, the actions are not active. In order for a macro to be active the player right-clicks on the M6 Macro(Action) and select 'Place on action bars'.

I'm not sure if you're seeing the same experience, but I right-click and place on action bars and I still get the ? icon. I have to edit and save again to actually activate the icon.

In this example, I activated and dragged the #PriestBuffSelf M6 Macro to a stancard actionbar slot or ABP action slot.

After this action, I do a /reload (to force WOW to update profiles), then the character profile now looks like this.

["profiles"] = {
    ["Blood Furnace"] = {
        ["Belat"] = {
            {
                ["slots"] = {
                    ["s01"] = 7,
                },
                ["bind"] = {
                },
            }, -- [1]
        },
    },
},  

Action Index 7 is #PriestBuffSelf from this action array in my profile

{
    "imptext", -- [1]
    "#label Buff me baby!\n/qsequence {{spell:21562}}, {{spell:2061}}", -- [2]
    ["group"] = 1,
    ["name"] = "#PriestBuffSelf",
}, -- [7]

I then activate and drag-and-drop another M6 Macro(Action) called Hello to an actionbar (standard or ABP); then do another /reload

The character profile now looks like this as expected:

["Belat"] = {
    {
        ["slots"] = {
            ["s01"] = 7,
            ["s02"] = 2,
        },
        ["bind"] = {
        },
    }, -- [1]
},

Action Index 2 is the Hello M6 Macro(Action) in my profile:

If I deactivate, the M6 Macro Hello, I added a hook in place to remove this action from ABP. In standard actionbar, the icon is updated to the ? macro, which is just a plain macro with no assigned icon.

Another /reload will show that the s02 mapping no longer exists in the character profile.

["Belat"] = {
    {
        ["slots"] = {
            ["s01"] = 7,
        },
        ["bind"] = {
        },
    }, -- [1]
},

The above behavior is fairly predictable.

For the purpose of this example, I will reactivate M6 Macro Hello again so that we are back to to slot entries. After re-activating, the profile is now back to:

["Belat"] = {
    {
        ["slots"] = {
            ["s01"] = 7,
            ["s02"] = 2,
        },
        ["bind"] = {
        },
    }, -- [1]
},

What happens when a character switches to a different spec?

After activating the Shadow spec (talent index 3), the behavior will be:

Here's the behavior in M6.

If I activate the M6 Hello macro first, this action will be assigned to slot s01. If you recall on the previous profile that s01 is assigned to #PriestBuffSelf macro (index:7).

So, after activating Hello macro and dragging and dropping to an ABP action slot, the character profile now looks like this (M6 creates a new profile for the spec, mapped by talent index 3) and a new slot s01 is mapped to action index 2. If you compare to the previous spec entry, s01 maps to action index 7.

["profiles"] = {
    ["Blood Furnace"] = {
        ["Belat"] = {
            {
                ["slots"] = {
                    ["s01"] = 7,
                    ["s02"] = 2,
                },
                ["bind"] = {
                },
            }, -- [1]
            [3] = {
                ["slots"] = {
                    ["s01"] = 2,
                },
                ["bind"] = {
                },
            },
        },
    },
},

If the action slot is inactive, Actionbar-M6 is not able to pull information about that action and also clicking on it will not work (for both ABP and standard actionbar slot).

My thoughts are the better ABP user-experience might be after a profile switch is to

nfet commented 1 year ago

But why are the macro attributions not lost then also on AH toon #1? (She has the macros also on a hidden Blizz action bar, but so does AH toon #2.)

If you activated and dragged-and-dropped the M6 Macros in the same order such that the slots map to the same action index, it is possible that the macros will continue to work on subsequent spec change.

tflo commented 1 year ago

Thanks for the detailed explanation! Really appreciated. (Not sure if I got all of it, but most of it I think ;) Have to read it again in a quiet moment...)

Today I get the "\<\<FATAL>> Failed to access M6 database" message.

Since I currently only have ActionbarPlus-M6 loaded on the AH toon where the buttons are persistent, I cannot say for sure since when this happens. But it seems plausible that it is since the last M6 update yesterday.

I verified now on one of the "normal" toons and it's the same there. Dumping M6DB returns in fact nil.

nfet commented 1 year ago

One thing I did overlook is the SavedVariablesPerCharacter settings.

M6.toc:

## SavedVariables: M6DB
## SavedVariablesPerCharacter: M6PC

Can you give this a try on the same character. Console:

/dump M6PC
nfet commented 1 year ago

Oh never mind...I just got the same error on retail.

tflo commented 1 year ago

M6PC (per char table) is also nil.

But it is really nil, also in the saved file:

Screenshot 2023-05-04 at 17 04 19

Seems to be nil on every char.

nfet commented 1 year ago

After diff'ing the previous version, looks like there was a new deliberate change to nullify M6DB. I will need to figure out where to hook to get DB data (or see if the addon can function without the DB in minimal mode). Here's the left(before) and right (after) diff.

image

nfet commented 1 year ago

....and another issue. M6 Core.lua made most of the methods private. This definitely breaks everything.

function private:SetActionIcon(id, ico)
    conf.actions[id].icon = (type(ico) == "string" or type(ico) == "number") and ico or nil
end
nfet commented 1 year ago

...hang tight while I figure things out. Looks like this will only affect tooltips. M6 Macros still work in ABP. Let me see if I can get a quick fix today.

tflo commented 1 year ago

Let me see if I can get a quick fix today

No need to hurry, at least not because of me. In fact, with additional complications now showing up, I would even consider abandoning the whole experiment – unless the educational benefits are worth it.

You were smart enough to separate this thing from the main ABP project, so you could just drop it.

nfet commented 1 year ago

Oh don't worry. M6 codebase is going through some code cleanup. This is always the business with dependency. This will be fixed shortly. The "detailed" tooltip will no longer be available due to changes. The m6 macro details on hover is a nice-to-have feature but not needed.

nfet commented 1 year ago

ActionbarPlus-M6 2023.5.3 is out

tflo commented 1 year ago

Yep, behavior seems to be restored as with M6 pre-1.38 (except the macro-content tooltip you mentioned).

WoWScrnShot_050523_141148-pty

nfet commented 1 year ago

That's unexpected. It should only have missing tooltip non-spell/item type macros like emotes. What is the content of this m6 macro?

Here's a buff macro for one of my tests

image