• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Bog's Buff macro Version 5.0 ( buffv5.mac )

You thoughts:

  • Would be useful if it didn't have so many bugs in it.

    Votes: 0 0.0%
  • Stop posting this garabage.

    Votes: 0 0.0%

  • Total voters
    6

Bogreaper

Member
Joined
Feb 8, 2017
RedCents
113¢
Here is a buff macro that I wrote with the help of Ergg and Grogan of Ezserver.

I am posting it here, as for I wrote it due to some of the issues we face on the Emu server , EzServer. I do believe that this should work just fine on any server, but I have not tested that to verify. With that being said, if you do use this on another server please let me know.

I hope it is beneficial to you, and you enjoy the use.

If you find any problems with it please reply here. Additionally, if you enjoy and/or have suggestions please reply here also.
I really appreciate all feed back, and love suggestions, so please feel free to let me know your thoughts.

(Note: English is not my first language, so if my write up is a little confusing and thoughts are disconnected, I apologize in advance, it's a little difficult for me to translate my Southern drawl (dialect) in to readable English)

What it does.

In Brief: runs down the characters spell list looking for buffs to cast on characters.
It checks for self buffs, single and group buffs. It checks to see if the target already has the buff on them and it still has over half the DEFAULT duration left on it and if cast now it will last longer then 5 minutes.

If you have a Shield of Ages, it clicks it.

If you have a Pet it will target and hail your pet, then tell it to Arm it self.
If you have a Pet and a Harness of soul Gem in your secondary it will click it
If you have a pet and two bandolier settings, Melee and Pet, it will swap them out and put the pet one up and try to use the secondary item, then switch back to Melee

If you have a spell list saved by the name of Zbuffs it will load that spell list before casting any buffs then it will attempt to load Zattack once it is finished buffing *changable in the files, instructions both in the macro and below in this post.

Will check to see if the character running the macro is in a Raid, if so it will cast on everyone in the raid. If not in a raid it will check to see if the character running the macro is in a group, if so it will cast on everyone in the group. If not in a Raid or Group it will cast all of the buffs on itself.
It will verify before going down the spell list that the current target (raid, group, pet, or specified character) is withing 100 of it.

You can pass 2 variables to it. 1: a target's name, and / or, a recast duration.
The recast duration is there to try and speed up the buffing process. Take Rune of Denial III for example, it has a recast time of 30 seconds. If you cast that on a raid of 18 characters it going to take a Minimum of 9 minutes to cast all the buffs. I personally cast RoDIII on the tanks right before I pull, so I do not want to cast it when Re-buffing, but I do want to cast it at Initial buffing.

Example.

When I first log in and form up my Raid, or I just wiped and getting back in order I will do a.

/bcaa //macro buffv5 30

This will tell all characters (yes even the warriors, we will get to that in a minute) to buff everyone with anything that takes 30 seconds or less to recast.

But if everything has been going well and an hour has passed by and I just want to refresh all the buffs that have faded, or about to fade I will do a

/bcaa //macro buffv5

This will have everyone cast any buff that has a recast time of 5 seconds or less, skipping over say RoDIII.

Or say, Warizzle wants me to buff him because he does not have an Enchanter or Druid, I will do a

/bcaa //macro buffv5 warizzle 30

and it will have all my characters cast all spells with a recast of 30 seconds or less on warizzle directly.

Or say, Warizzle is playing with me, but he is not in my raid for what ever reason, and he does not need / want RoDIII I would just

/bcaa //macro buffv5 warizzle

-----------------------------------
Settings you can change easily
-----------------------------------
There is no real reason for most people to edit the file at all, but I have made it so that you can, and I have attempted to make it as easy as possible to just change the few things that most people would find that they needed a little bit different then my defaults.

These are documented inside the macro file near the top.

Change spell list. This is a 1 for yes or 0 for no.
Having it set to 1 and not having the spell list to load does not effect the macro that much, it will just attempt to load the new one and not find it and continue one.

bufflist Zbuffs
attacklist Zattack

the Zbuffs and Zattack are your 2 spell lists. You can change them to what ever you wish, It loads the bufflist before attempting to do any buffing at all.
It loads attacklist at the very end of the macro.

minbuffduration 5

This is the default minimum duration of buffs to cast in minutes. If a beneficial spell has a duration of 5 minutes or more it will attempt to cast. Please be aware that if you change this to a low number some very short duration buffs will be cast.

----------------------------------------------------------------
Detail workings
----------------------------------------------------------------

When the macro is ran, it is first going to check and see if you told it to cast a single character, if you changed the default recast time, or both.

If you have a pet it then hails the pet and tells it to arm itself.
If changespelllist is still 1, then it loads your buff list
If you have a Shield of the Ages on your back, it clicks it.
It goes down the spell list and casts all self only buffs.
Checks if you specified to buff a single character, if so do it and skip the next three lines.
If you did not specify a specific character and in a raid, go down the raid list starting with the 1st member. Skipping the next 2 lines.
If you did not specify a specific character and not in a raid and in a group, go down the group list starting with the 1st member. Skipping the next line.
If you did not specify a specific character and not in a raid and not in a group, buff myself.

Once it knows whom to buff, it does the following checks.
Is the target within 100 of me?
if so, then it does the following checks for each spell in the spell list starting with spell 1.
Is it a beneficial spell?
Is it a single target or group spell?
Is the recast time less then the recast time specified?
Is this buff already on the target? and if it is does it have less then half of the default spell duration (before any extend is put on it)

If all of those are meet, then it waits for the spell to ready for casting, once ready it casts the spell.
It then moves on to the next spell on the list.

Once all of the spells on that characters spell list have been checked/cast, it then moves on to the next character in the group or raid, or stops if you specified a character or if not in a raid or group.

Once all the characters have been cast on, it then checks if you have want to change spell lists, if so it loads the spell list.

It then checks your inventory for Harnessed soul gem, if it finds one in your bags, it attempts to activate the Pet bandolier, then use the secondary item (off hand) then activate the Melee bandolier. If you already have this item in your off hand and do not have the pet and melee bandoliers it will just use the item.

If the macro took longer then 60 seconds to run, it will report back in the mq2 window via /echo to state how long it took to run.

macro ends.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As I said, I hope this is helpful for ya.

If you try it out, if you use it or not, please post back here and share your thoughts, good, bad or ugly. I would enjoy hearing them.
All suggestions will be explored, not saying I will make the changes, just explore them. 8)


Peace.

Download link Just below
 

Attachments

Last edited:
Sounds great over all.
I would be concerned about using this for one reason I can think of. It reports back in gsay/ rsay/ or say.
That would be a dead giveaway I'm MQing...
Perhaps changing it up for a choice of channel or send report to the MQ2 window?

~TheFiddler~
 
TheFiddler.

Yes on live and some other servers that would be an issue, but on EzServer macroquest is accepted and even encouraged.

and yes, that would be a great thing to remove so that others across different servers can utilize it.

The /rsay and /gsay have been removed and one /echo has been added.

Peace
 
Last edited:
Tried it out today! Works like a charm!! Great job Bog! Appreciate all your hard work!

- - - Updated - - -

Is there any way you could add clickables do this macro brother? Like RoA, etc. Thanks again for your hard work!
 
That would make it really specialized for EZServer, or it would require an INI file which I want to stay away from, but if you want

on lines 132 through 139

|---------------------------------
|Cast Shield of Ages if I have one
|---------------------------------


/if (${Me.Inventory[8].Name.Left[18].Equal[Shield of the Ages]}) {
/useitem 8
}

The [8] is the inventory slot, you can see the numbers with /useitem, I believe your ring is item 16 for the right finger, so just add this line between 139 and 140.

/if (${Me.Buff[Ancient: Ethereal Rune XVII].ID}==0 && ${Cast.Ready[${InvSlot[16].Item.Name}]}) /useitem 16

Then using that as a guide, you can do any clicky you want.

ie.. if you wanted everyone to summon a stack of mystery meat from the Embalmers skinning knife that is in inventory.

/keypress OPEN_INV_BAGS
/delay 3
/itemnotify ${FindItem[=Embalmers Skinning Knife].InvSlot} rightmouseup
/delay 6s
/autoinv
/delay 1
/keypress CLOSE_INV_BAGS


And using that as a template you can change the name of the item to be what ever you want it to be... for some reason it wants the bags open, so ehhh I open the bags, no biggy.

Hope that helps ya.. I just don't see tring to add it to a universal macro, or making an ini file to handle what clickies I want clicked.

I have a downshit that checks for my RoA rune , and if its not there it clicks the finger. (Its actually that line I told you to put between 139 and 140)

Peace

ps. the version of that rune changes as the ring gets higher in level, so if yours is , I think its under 500?, the roman numerals are going to be different , it maxes out at 17 (XVII)
 
Last edited:
Thanks a ton man! Most certainly appreciate it! I'll add this in tonight!

- - - Updated - - -

If you have time can you share your MQ2melee /melee save for Bogptank. I'm curious to see your Holyshits/Downshits. When you let me tag along in Frozen Shadow, I was completely impressed with the level of communication you had going on with your toons. Awesome work!
 
Update to Version 5.1

Changes.

| Modified August 29th 2017 by BogReaper to
| Added a delay between each spell check, on some systems it was going so fast that it would not see the spell already on the target.
| Switched from using ${Spell[x].Duration} to using ${Spell[x].DurationValue1} on the Emu server I play on, the Duration was returning massive numbers compared to what the actual duration was
| So it would cast some very short duration spells (HoTs) as a buff.

Enjoy.
 

Attachments

Bog's Buff macro Version 5.0 ( buffv5.mac )

Users who are viewing this thread

Back
Top
Cart