help with druid macro please
Posted: Mon Jul 05, 2004 9:34 am
could someone take a look at this code please and give me some help/pointers. what im trying to get it to do is keep buffs up and heal mt below 57%. this is a combo of two macros and im hoping someone will be kind enough to guide me a little. eventually im wanting to add a debuff and attack from the rear as well but im trying to stick with just two ideas at the moment.
no credit given to original writers until i have it working smooth then i will post it in depot. thanks for any help you might give.
geo
Code: Select all
#event MeHit " hits YOU for "
#event OutOfMana "Insufficient Mana to cast this spell!"
#event OutOfRange "Your target is out of range, get closer!"
#event Fizzle "Your spell fizzles!"
#event SkinBuffs "#*#Your skin returns to normal#*#"
#event SoE "#*#The spirit of eagle leaves you#*#"
#event Regen "#*#You have stopped regenerating#*#"
#event Fizzle "#*#Your spell fizzles#*#"
#event Death "#*#You have entered#*#"
Sub Main
/declare Healpct int outer 57
/declare Fastheal string outer Nature's Infusion
/declare Groupnum int outer
/declare i int outer
/declare Delay int outer
/declare Casting string outer
:chkevent
/doevents
/varset Groupnum ${Group}
| *** AutoHeal ***
:Healcheck
/for i 1 to ${Group}
/if (${Group[${i}].PctHPs}<=${Healpct}) {
/if (${Group[${i}].PctHPs}<1) /goto :nextmember
/if (${Group[${i}].Class.Name.Equal["Warrior"]}) /goto :Tankheal
/if (${Group[${i}].Class.Name.Equal["Paladin"]}) /goto :Tankheal
/if (${Group[${i}].Class.Name.Equal["Shadow Knight"]}) /goto :Tankheal
/if (${Group[${i}].Class.Name.Equal["Monk"]}) /goto :Tankheal
/doevents
/goto :CasterHeal
:Tankheal
/target ${Group[${i}].Name}
/stand
/g CH on %t!
/varset Casting Karana's Renewal
/cast "Karana's Renewal"
/doevents
/varset Delay ${Math.Calc[${Spell[Karana's Renewal].MyCastTime}*10+10]}
/delay ${Delay}
/if (${Sit}==1) /sit
/goto :nextmember
:Casterheal
/target ${Group[${i}].Name}
/stand
/g Quickheal on %t!
/varset Delay ${Math.Calc[${Spell[${Fastheal}].MyCastTime}*10+25]}
/varset Casting ${Fastheal}
/cast "${Fastheal}"
/doevents
/delay ${Delay}
/if (${Sit}==1) /sit
}
:nextmember
}
/next i
/goto :chkevent
/return
Sub Event_MeHit
/if (${Me.PctHPs}<=60 AND ${Me.PctHPs}>40) {
/target myself
/stand
/g Quickhealing %t!
/varset Casting Nature's Infusion
/cast "Nature's Infusion"
/doevents
/varset Delay ${Math.Calc[${Spell[Nature's Infusion].MyCastTime}*10+5]}
/delay ${Delay}
} else /if (${Me.PctHPs}<=40 AND ${Me.PctHPs}>25) {
/target myself
/stand
/g Fast Heal on %t!
/varset Delay ${Math.Calc[${Spell[${Fastheal}].MyCastTime}*10+25]}
/varset Casting ${Fastheal}
/cast "${Fastheal}"
/doevents
/delay ${Delay}
} else {
/stand
}
/return
Sub Event_SoE
/keypress back
/keypress F1
/delay 1s
/cast 8
/varset SpellCast 8
/delay 6s
/doevents Fizzle
/keypress esc
/return
Sub Event_Regen
/keypress back
/keypress F1
/delay 1s
/cast 1
/varset SpellCast 1
/delay 8s
/doevents Fizzle
/keypress esc
/return
Sub Event_SkinBuffs
/keypress back
/keypress F1
/delay 1s
/cast 2
/varset SpellCast 2
/delay 10s
/doevents Fizzle
/cast 3
/varset SpellCast 3
/delay 10s
/dovents Fizzle
/cast 5
/varset SpellCast 5
/delay 6s
/dovents Fizzle
/varset NeedBuff FALSE
/keypress esc
/return
Sub Event_Fizzle
/goto :Healcheck
/return
Sub Event_OutOfRange
/g %t your OOR!
/delay 1s
/return
Sub Event_Fizzle
/if (${SpellCast}==1) {
/keypress F1
/delay 1s
/cast 1
/varset SpellCast 1
/delay 8s
/doevents Fizzle
/keypress esc
}
/if (${SpellCast}==2) {
/keypress F1
/delay 1s
/cast 2
/varset SpellCast 2
/delay 10s
/doevents Fizzle
/keypress esc
}
/if (${SpellCast}==3) {
/keypress F1
/delay 1s
/cast 3
/varset SpellCast 3
/delay 10s
/doevents Fizzle
/keypress esc
}
/if (${SpellCast}==5) {
/keypress F1
/delay 1s
/cast 5
/varset SpellCast 5
/delay 6s
/doevents Fizzle
/keypress esc
}
/if (${SpellCast}==6) {
/delay 1s
/cast 6
/varset SpellCast 6
/delay 3s
/doevents Fizzle
}
/if (${SpellCast}==8) {
/keypress F1
/delay 1s
/cast 8
/varset SpellCast 8
/delay 6s
/doevents Fizzle
/keypress esc
}
/return
geo