|afkassist.mac
|Written and directed by TheZ, starring TheZ, yada yada, produced by the MMOBugs Group for the use of MMOBugs members!
#Event HitMe "#*#hits you for#*#"
#Event HitMe "#*#kicks you for#*#"
#Event HitMe "#*#bites you for#*#"
#Event HitMe "#*#bashes you for#*#"
#Event HitMe "#*#slashes you for#*#"
#Event HitMe "#*#pierces you for#*#"
#Event HitMe "#*#crushes you for#*#"
#Event HitMe "#*#You will not evade me |${Me}|!#*#"
#Event MAChange "[MQ2] ma #1#"
#event Camping "[MQ2] makecamp"
#event SetCamp "[MQ2] setcamp"
#event EscapeHP "[MQ2] Escape #1#"
#event Status "[MQ2] status"
#event Manual "[MQ2] manual"
#event BuffCheck "[MQ2] buffcheck"
Sub main
/echo Welcome to the continuing adventures of the Galaxy Quest crew!
|==========================|
|=========Declares=========|
|=========Declares=========|
|=========Declares=========|
|==========================|
/if (!${Defined[EscapeHP]}) /declare EscapeHP int outer 75
/if (!${Defined[FadeOnce]}) /declare FadeOnce int outer 0
/if (!${Defined[Attacking]}) /declare Attacking int outer 0
/if (!${Defined[CurrentTarget]}) /declare CurrentTarget int outer
/if (!${Defined[ManualMode]}) /declare ManualMode int outer 0
/if (!${Defined[CampTime]}) /declare CampTime int outer 0
/if (!${Defined[HomeY]}) /declare HomeY int outer 0
/if (!${Defined[HomeX]}) /declare HomeX int outer 0
/if (!${Defined[MA]}) /declare MA string outer ${Param0}
/if (!${Defined[HomeHeading]}) /declare HomeHeading int outer
/varset HomeHeading 0
/varset CurrentTarget 0
/varset FadeOnce 0
/varset CampTime 0
/varset ManualMode 0
/varset Attacking 0
|===========================|
|=========Main Loop=========|
|=========Main Loop=========|
|=========Main Loop=========|
|===========================|
:continueloop
/doevents
/if (${Me.PctHPs}<=${EscapeHP} && ${FadeOnce}==1) /varset FadeOnce 0
/if (${ManualMode}==0) {
/if (${Attacking}==0) {
/assist ${MA}
/if (${Target.Type.Equal[NPC]}) /varset Attacking 1
/if (${Target.Type.Equal[corpse]}) /target clear
}
/if (${Spawn[${MA}].Type.Equal[corpse]}) {
/echo ${MA}... by Grabthar's hammer... by the Sons of Warvan... you shall be... avenged. (Manual Mode On)
/varset ManualMode 1
}
/if (${Target.Type.Equal[NPC]} && ${CurrentTarget}!=${Target.ID} && ${Attacking}==1 && !${Melee.Combat} && ${Target.LineOfSight} && ${Target.PctHPs}<=98 && ${Target.Distance}<=400) {
/face
:looptime
/if (${Target.Distance}>=150) {
/delay 1s
/goto :looptime
}
/stick 10
/varset CurrentTarget ${Target.ID}
/popup Target Aquired >>${Target.CleanName}<<
/echo Target Aquired >>${Target.CleanName}<<
:waitlooptime
/if (${Target.Distance}>=50) {
/delay 1s
/goto :waitlooptime
}
/stick off
/keypress melee
}
/if (${Spawn[${CurrentTarget}].Type.Equal[corpse]}) {
/echo By Grabthar's hammer, we live to tell the tale!
/varset Attacking 0
/varset CurrentTarget 0
/call GoHome
}
/if (${Target.Type.Equal[corpse]}) /target clear
/if (!${Me.Aura.ID} && ${Attacking}==0) /call event_BuffCheck
}
/if (${ManualMode}==1) {
/if (${Spawn[${MA}].Type.NotEqual[Corpse]}) {
/varset ManualMode 0
/echo Maybe you're the plucky comic relief... (${MA} lives!)
}
}
/delay 1s
/goto :continueloop
/return
|======================|
|=========Subs=========|
|=========Subs=========|
|=========Subs=========|
|======================|
Sub GoHome
/if (${HomeX}!=0 && ${HomeY}!=0 && ${CampTime}==1) {
/moveto loc ${HomeY} ${HomeX}
/echo Well, the Protector got super-accelerated coming out of the black hole...engaging Roman Candle guidance system!
/delay 3s ${Me.Speed}==0
/face heading ${HomeHeading}
}
/return
|========================|
|=========Events=========|
|=========Events=========|
|=========Events=========|
|========================|
sub event_BuffCheck
/if (${Twist}==TRUE && !${Me.Buff[Resonance].Duration}) {
/if (!${Defined[RedoTwist]}) /declare RedoTwist local int
/varset RedoTwist 1
/squelch /twist off
}
/if (!${Me.Buff[Resonance].Duration}) {
/casting "Voice of the Serpent|item"
/delay 4s !${Me.Casting.ID}
}
/if (${RedoTwist}==1) {
/squelch /twist
/varset RedoTwist 0
}
/return
Sub Event_MAChange(Zero, Name)
/echo Changing MA to ${Name}
/varset MA ${Name}
/return
Sub Event_EscapeHP(Zero, EscapeAt)
/echo Escaping at ${EscapeAt}
/varset EscapeHP ${EscapeAt}
/return
Sub event_HitMe
/if (${Me.PctHPs}<=${EscapeHP} && ${FadeOnce}==0) {
/alt activate 212
/echo Using the digital conveyor is more, hmm, art than science...
/varset FadeOnce 1
}
/return
sub event_camping
/if (${CampTime}==0) {
/varset CampTime 1
/echo Now making camp!
/if (${HomeY}==0 && ${HomeX}==0 && ${HomeHeading}==0) {
/varset HomeY ${Me.Y}
/varset HomeX ${Me.X}
/varset HomeHeading ${Me.Heading.Degrees}
}
/return
}
/if (${CampTime}==1) {
/varset CampTime 0
/echo No longer making camp!
/return
}
/return
sub event_setcamp
/echo Resetting Camp to current location!
/varset HomeY ${Me.Y}
/varset HomeX ${Me.X}
/varset HomeHeading ${Me.Heading.Degrees}
/return
sub event_status
/echo ----Settings----
/echo MA: ${MA}
/echo Manual: ${ManualMode}
/echo Escape HP : ${EscapeHP}
/echo Making Camp: ${CampTime}
/if (${CampTime}==1) /echo Home Loc: ${HomeY},${HomeX} ::: Home Heading: ${HomeHeading}
/echo Fade status: ${FadeOnce}
/if (!${Me.Buff[Resonance].Duration}) /echo Need Resonance
/return
sub_event manual
/if (${ManualMode}==0) {
/echo Manual Mode on!
/varset ManualMode 1
/return
}
/if (${ManualMode}==1) {
/echo Manual Mode off!
/varset ManualMode 0
/return
}
/return