Code: Select all
| Name: shamandot.mac
| Author: YKW-28983
| Description: Written to automate the tasks of a shaman.
| Updates: This kills Ice Giants Fine! Included Running around.
#include spellcast.mac
#define /targetself "/target myself"
#define ROOTSpell "Instill"
#define SLOWSpell "Togor's Insects"
#define DOT1Spell "Envenomed Bolt"
#define DOT2Spell "Plague"
#define REGENERATION "Chloroplast"
#define SOW "Spirit of Wolf"
#define RootStatus v1
#define SlowStatus v2
#define DOT1Status v3
#define DOT2Status v4
#define MOB1Status v5
#event RootGone "Your Instill spell has worn off."
#event SlowGone "Your Togor's Insects spell has worn off."
#event DOT1Gone "Your Envenomed Bolt spell has worn off."
#event DOT2Gone "Your Plague spell has worn off."
#event MobGONE "You have slain a"
Sub Main
:VarSet
/varset RootStatus 0
/varset SlowStatus 0
/varset DOT1Status 0
/varset DOT2Status 0
/varset MOB1Status 0
:BuffCheck
/if n $char(buff,"REGENERATION")==0 /call REGENERATION
/if n $char(buff,"Spirit of Wolf")==0 /call SPIRIT
:ManaCheck
/if n $char(mana,pct)<95 {
/echo Getting Mana
/call Med
}
:TargetCheck
/if $char(target)==myself {
/echo You Crazy Fuck, You Can't Cast On Yourself!
/return
}
:ROOT
/doevents
/if n MOB1Status==1 {
/echo Mob Died. MANA = $char(mana,pct)% HP = $char(hp,pct)% EXP = $char(exp)%
/return
}
/if n $target(hp,pct)<20 {
/call Finish
}
/if n $RootStatus==0 {
/sit off
/call cast "ROOTSpell"
/varset RootStatus 1
/if n $target(distance)<80 {
/goto :RUN
}
}
:SLOW
/doevents
/if n $RootStatus==0 {
/goto :ROOT
}
/if n $SlowStatus==0 {
/sit off
/call cast "SLOWSpell"
/varset SlowStatus 1
}
:DOT1
/doevents
/if n $RootStatus==0 {
/goto :ROOT
}
/if n $SlowStatus==0 {
/goto :SLOW
}
/if n $DOT1Status==0 {
/sit off
/call Cast "DOT1Spell"
/varset DOT1Status 1
}
:DOT2
/doevents
/if n $RootStatus==0 {
/goto :ROOT
}
/if n $SlowStatus==0 {
/goto :SLOW
}
/if n $DOT2Status==0 {
/sit off
/call cast "DOT2Spell"
/varset DOT2Status 1
}
/goto :ROOT
:Run
/sendkey down W
/if n $target(distance,nopredict)>80 {
/sendkey up W
/face nopredict
/goto :ROOT
}
/goto :Run
/return
Sub REGENERATION
/sit off
/delay 2s
/targetself
/call cast "REGENERATION"
/sit on
/return
Sub SPIRIT
/sit off
/delay 2s
/targetself
/call cast "SOW"
/sit on
/return
Sub Med
:loopstart
/if n $char(hp,pct)<50 /call HealMe
/if n $char(mana,pct)>95 /if n $char(hp,pct)<75 /call HealMe
/if n $char(hp,pct)>50 /if n $char(mana,pct)<95 /call Canni
/if n $char(mana,pct)>95 /if n $char(hp,pct)>95 {
/echo Your Ready To Go!
/beep
/delay 1s
/beep
/delay 1s
/beep
/return
}
/goto :loopstart
/return
Sub HealMe
/sit off
/delay 2s
/targetself
/call cast "Greater Healing"
/sit on
/delay 6s
/return
Sub Canni
/sit off
/call cast "Cannibalize"
/sit on
/delay 6s
/return
Sub Finish
:loopstart
/if n $char(hp,pct)<50 /call HealMe
/if n $char(mana,pct)>95 /if n $char(hp,pct)<75 /call HealMe
/if n $char(hp,pct)>50 /if n $char(mana,pct)<95 /call Canni
/if n $char(mana,pct)>95 /if n $char(hp,pct)>95 {
/echo Your Mana Is Good
/beep
/return
}
/goto :loopstart
/return
Sub Event_RootGone
/varset RootStatus 0
/return
Sub Event_SlowGone
/varset SlowStatus 0
Sub Event_DOT1Gone
/varset DOT1Status 0
/return
Sub Event_DOT2Gone
/varset DOT2Status 0
/return
Sub Event_MobGONE
/varset MOB1Status 1
/return
Works great for IG's in everfrost. Have Fun. Added Run
