all purpose high level druid hotkey macro

Help section from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

User avatar
Kint
a hill giant
a hill giant
Posts: 208
Joined: Thu Mar 13, 2003 3:36 am

all purpose high level druid hotkey macro

Post by Kint » Fri Jun 20, 2003 10:23 pm

This is my hotkey macro. I keep it on all the time to make my life a little easier. I want to add the things I have at the bottom but don't really know how (except the cure thing, I'll get around tot hat later). If anyone could help me add those things it'd be great. thanks.

Code: Select all

#turbo 
#event  NI "You begin casting Nature's Infusion."
#event  KR "You begin casting Karana's Renewal."
#event  snare "has been ensnared."
#event  root "You begin casting Savage Roots."
#event  RI "is surrounded by an outline of cold flame."
#event  HoR "is immolated by blazing flames."
#event  eci "is encrusted with a thin layer of ice."
#event  sotw "is encrusted by bark."
#event  rooted "is entrapped by roots."
#event  DS "surrounded by a thorny barrier."
#event  unsnare "Your Ensnare spell has worn off."
#event  exp "experience"
#event  cure "you begin casting Radiant Cure"
#define ensnare v56
#define Damageshield1 t1
#define Damageshield2 t2
#define Damageshield3 t3
#define tank1 v55
#define tank2 v57
#define tank3 v58

Sub Main
    /varset ensnare 0

    :loop 
    /doevents 
    /goto :loop 
/return 

sub Event_unsnare
/varset ensnare 0
/return

sub Event_cure
/g cure incomming
/return

sub Event_exp
/varset ensnare 0
/return

Sub Event_NI 
     /if "$target(type)"=="NPC" {
/delay 1s
/press s
/delay 1s
/press s
/return
}
     /if "$target(type)"=="Corpse" {
/delay 1s
/press s
/delay 1s
/press s
/return
}     
/if ("$target(type)"!="NPC" && "$target(type)"!="Corpse") 
/if "$target(hp,pct)"<"80" /g patching %T
/return 

Sub Event_KR 
     /if "$target(type)"=="NPC" {
/delay 1s
/press s
/delay 1s
/press s
/return
}
     /if "$target(type)"=="Corpse" {
/delay 1s
/press s
/delay 1s
/press s
}     
/if ("$target(type)"!="NPC" && "$target(type)"!="Corpse")
/if n "$target(hp,pct)"<"90" /g 4.7k heal inc %T, 10 seconds

/return 

Sub Event_snare
/if n "$ensnare"=="0" /g %T snared
/varset ensnare 1
/return 

Sub Event_Rooted
     /g %T rooted! back away so it doesn't pwn you. 
/return 

Sub Event_sotw
/if "$target(id)"=="$group(0)" /g SotW inc
/if "$target(id)"=="$group(1)" /g SotW inc
/if "$target(id)"=="$group(2)" /g SotW inc
/if "$target(id)"=="$group(3)" /g SotW inc
/if "$target(id)"=="$group(4)" /g SotW inc
/if "$target(id)"=="$group(5)" /g SotW inc
    /if "$target(type)"!="NPC" /2 SotW to %Ts group 
/return 

Sub Event_RI 
    /if n "$target(level)">="65" /2 Ro's Illumination on %T, ac(15) and atk(80) debuffed. 
/return 

Sub Event_HoR
    /if n "$target(level)">="65" /2 HoR on %T, ac(15), atk(100) and FR(72) debuffed 
/return 

Sub Event_eci 
    /if n "$target(level)">="65" /2 e`ci's on %T, ac(24) and CR(55) debuffed
/return 

Sub Event_DS
/if n $Damageshield1==0 {
    /varset tank1 $target(name)
    /varset Damageshield1 15m
} else /if ($Damageshield1!=0 && $Damageshield2==0) {
    /varset tank2 $target(name)
    /varset Damageshield2 15m
} else /if n "$Damageshield3"=="0" {
    /varset tank3 $target(name)
    /varset Damageshield3 15m
}
/return

Sub Event_timer
/if n "$p0"=="1" {
/echo time to redo DS on $tank1
} else /if n "$p0"=="2" { 
/echo time to redo DS on $tank2 
} else /if n "$p0"=="3" {
/echo time to redo DS on $tank3 
}
/return

|||TODO|||
|**prevent SotW spam (event)
get all checks on heals to work (mostly working I think, get "couldn't parse '="Corpse" " when cast on PC
it should warn me if the mob gets below 40 health and I haven't snared it yet
let me specify between alerting group or channels of healing on th e fly
link snare to $target(id) (for multiple targets)
add abort mesage for aborted heals**|