automatically keeping buffs on others

Need help with a macro you are writing? Ask here!

Moderator: MacroQuest Developers

loadingpleasewait
a snow griffon
a snow griffon
Posts: 332
Joined: Sat Sep 14, 2002 8:46 am

automatically keeping buffs on others

Post by loadingpleasewait » Mon Jul 05, 2004 6:28 pm

I have a shaman macro in the macro depot, it does auto canni/slow/malo/cripple/pet attack/assist.. I use it quite often, However I can manage to keep my pet buffed, but would like to know how I could keep buffs up to date on other group members automatically.. is there a way to do this using timers or such without interfering with the remainder of the macro?

any help would be appreciated.. I did a search for rebuff, timers, and buff timers and didnt come up with any help..

Thanks in advance..
LOADING PLEASE WAIT...

Terramantian
a ghoul
a ghoul
Posts: 120
Joined: Thu May 13, 2004 6:20 pm

Post by Terramantian » Tue Jul 06, 2004 9:13 am

If your shaman is 65 (or whatever level they start getting all their spells as group versions, 50s-ish I'd guess but I don't play shammies), it should be really easy. Just base the timer on yourself. Like.. (assuming you use spellcast.inc)

Code: Select all

/if (${Me.Buff[Focus of the Seventh].Duration}<n) {
    /call cast "Focus of the Seventh"
}
replace 'n' with the average length of one iteration of your script in ticks, + 2 or 3, or less if you don't mind being buffless for a few seconds.

For Ferine Avatar or other single target buffs you'd need timers... for example for two people it'd need to be

Code: Select all

/declare fa1 timer outer 0
/declare fa2 timer outer 700

...
| (later in the script)

/if  (${fa1} == 0) {
   /target ${Melee1}
   /call cast "Ferine Avatar"
   /varset fa1 3900
}

/if (${fa2} == 0) {
  /target ${Melee2}
  /call cast "Ferine Avatar"
  /varset fa2 3900
}
Might not be perfect but it should work. you'll have to modify it obviously to fit it in with your code (which I'm too lazy to look at atm). A note about the numbers, 700 is the cast time + the recast time + a few seconds, so it won't hold your script up in spellcast.inc trying to cast it too soon. May want to tweak it a little though. Same with the 3900, if my calculations are right that's the duration in deciseconds, but could be modified by a number of things.

User avatar
nosaj969
a lesser mummy
a lesser mummy
Posts: 33
Joined: Wed Apr 28, 2004 3:39 pm
Location: Hagerstown, MD

Couple options

Post by nosaj969 » Tue Jul 06, 2004 9:46 am

I have been working on a script for my shaman also and this is something that I have run into. My shaman is the same lvl as yours from what you shaman macro says. There are 3 ways I was thinking of doing this:

1 - cast the buff on yourself and group, then when you refresh it on yourself also refresh it on the group

2 - you could create events that listen for tells or chat from the group members saying 'YYY says, XXX buff wore off' or any text. That way you would know to buff player YYY with buff XXX.

3 - you could use timers and when the timer is below a certain number recast the associated buff on the group.

For my macro I was probably going to use a combination of both 1 and 2. Certain buff 'Talisman of Tnarg' I will recast on group when I cast on myself. That way they always have the hp. But buffs like 'deftness' I will only recast when I get a tell from that player saying they need that buff. I don't like the 3rd idea cause I really don't want that many timers going at the same time in my script. Quick example: 3 person group, 4 buffs per group member, one of the group member has a pet also, 3 buffs for pet. If you were to use timers you would have 11 timers going (4 for player1, 4 for player2, 3 for player2pet).

So unless you want to be keeping track of a few timers I would use a combination of options 1 or 2.

nosaj969

User avatar
aChallenged1
a grimling bloodguard
a grimling bloodguard
Posts: 1804
Joined: Mon Jun 28, 2004 10:12 pm

Post by aChallenged1 » Tue Jul 06, 2004 10:07 am

That's pretty much what my fiance and I do when playing shaman. Buff self then others, one spell at a time and run our recast off of that. Only problem is if something debuffs, then you have a mess to deal with.

For her, it isn't an issue anymore, as she's 65.

loadingpleasewait
a snow griffon
a snow griffon
Posts: 332
Joined: Sat Sep 14, 2002 8:46 am

Post by loadingpleasewait » Tue Jul 06, 2004 6:22 pm

Currently I'm basing HP buffs offa myself, and haste offa my pet.. other buffs I just cast on request, and screw recasts unless the pc asks again.. = )


OMG tho, my shaman macro used to be relatively readable.. I've personalized it quite a bit and damn its a mess.. I'd feel bad posting somthing that scraggly anymore.. = (
LOADING PLEASE WAIT...