Page 1 of 1
automatically keeping buffs on others
Posted: Mon Jul 05, 2004 6:28 pm
by loadingpleasewait
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..
Posted: Tue Jul 06, 2004 9:13 am
by Terramantian
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.
Couple options
Posted: Tue Jul 06, 2004 9:46 am
by nosaj969
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
Posted: Tue Jul 06, 2004 10:07 am
by aChallenged1
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.
Posted: Tue Jul 06, 2004 6:22 pm
by loadingpleasewait
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.. = (