Beastlord Assist macro

A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.

Moderator: MacroQuest Developers

seph_yaro
a lesser mummy
a lesser mummy
Posts: 72
Joined: Sat Jul 26, 2003 1:12 pm

Beastlord Assist macro

Post by seph_yaro » Sun Feb 22, 2004 7:46 am

Original coding borrowed from Grimjack's rogue-assist.mac and modified alot to work with a beastlord. All you have to do is hit assist, or target a critter and hit your autoattack key, to run this.

If told to, the script will auto-disarm, auto-kick, and heal if you are below 90% health. I haven't been able to test the healing part as the beastlord I made to test this script is still only level 6, so please, tell me if there's issues there.

Edited to remove the disarm code.
Edited to fix a typo

usage: /mac bstlrd-assist mindist maxdist fastdist
ex: /mac bstlrd-assist 5 10 12

Code: Select all

|bstlrd-assist.mac 
|Beastlord Melee assist macro. 
|version 1.1 by SephYaro
|Chaged from 1.0: Removed disarm coding form macro
|Original code taken from rogue-assist.mac written by Grimjack 
#Turbo 72 
#Event Enraged "has become ENRAGED" 
#Event Offrage "is no longer enraged" 

Sub Main 
   /declare RangeMin global 
   /declare RangeMax global 
   /declare FastRange global 
   /declare Combatstatus global 
   /declare CastTimer timer 
   /declare EnrageVar global 
   /declare DoHeal global 
   /declare HealSpell global
   /declare DoKick global  
|-------------------------------------- 
|Edit this to change autoheal 
   /varset DoHeal 0 
   /varset HealSpell "Light Healing"
|Edit this to change auto kick 
   /varset DoKick 1 
|--------------------------------------- 
   /varset RangeMin @Param0 
   /varset RangeMax @Param1 
   /varset FastRange @Param2 
   /varset Combatstatus 0 
   /varset EnrageVar 0 
   :Mainloop 
   /call Combatcheck 
   /if @Combatstatus=="1" /call RangeSub
   /if @Combatstatus=="1" /call Kickit 
   /if @Combatstatus=="0" /call Healthcheck 
   /doevents 
   /goto :Mainloop 
/return 


Sub Healthcheck 
   /if n @DoHeal==0 /return 
   /if $char(casting)=="TRUE" /return 
   /if $char(ismoving)=="TRUE" /return 
   /if n $char(hp,pct)<90 { 
      /if $combat!="TRUE" { 
         /if $target()=="FALSE" { 
            /delay 5s 
            /cast "@HealSpell" 
         } 
      } 
   } 
/return 


Sub Kickit
   /if n @DoKick==0 /return
   /if n $char(ability,"Kick")!=-2 {
	/doability "Kick"
   }
/return

Sub Combatcheck 
   /if @EnrageVar=="1" { 
      /if $target()=="TRUE" { 
         /return 
      } else { 
         /varset EnrageVar 0 
         /varset Combatstatus 0 
      } 
   } 
   /if $target()=="FALSE" { 
      /varset Combatstatus 0 
      /if $combat=="TRUE" { 
         /attack off 
      } 
      /return 

   } 
   /if $target()=="TRUE" { 
      /if $combat=="TRUE" { 
         /varset Combatstatus 1 
         /return 
      } 
   } 
/varset Combatstatus 0 
/return 



Sub Rangesub 
   /stand 
   /face nolook fast 
   /if n $target(distance)>=@FastRange /call Fastmove 
   /if n $target(distance)>@RangeMax { 
      /press up 
   } 
   /if n $target(distance)<@RangeMin { 
      /press down 
   } 
/return 


Sub Event_Enraged 
   /if $target()=="TRUE" { 
      /varset EnrageVar 1 
      /attack off 
   } 
/return 

Sub Fastmove 
   :fastmoveloop 
   /if $target()=="FALSE" { 
      /varset Combatstatus 0 
      /sendkey up up 
      /if $combat=="TRUE" { 
         /attack off 
         /return 
      } 
   } 
   /stand 
   /face nolook fast 
   /if n $target(distance)>@FastRange { 
      /sendkey down up 
      /attack off 
   } 
   /if n $target(distance)<=@FastRange { 
         /if @Combatstatus=="1" { 
            /if @EnrageVar=="0" { 
               /attack on 
            } 
         } 
      /sendkey up up 
      /return 
   } 
   /goto :fastmoveloop 
/return 


Sub Event_Offrage 
   /if $target()=="TRUE" { 
         /varset EnrageVar 0 
         /attack 
      } 
   } 
/return
Last edited by seph_yaro on Tue Feb 24, 2004 9:53 am, edited 3 times in total.

Pheph
a hill giant
a hill giant
Posts: 196
Joined: Thu Oct 09, 2003 8:15 pm

Post by Pheph » Sun Feb 22, 2004 8:27 am

Beastlords have Disarm?

You might wanna remove unused code - it clutters up the macro needlessly.

CapnBry
orc pawn
orc pawn
Posts: 24
Joined: Wed Jan 07, 2004 11:19 am
Location: The 5,000th Dimension of the Moon
Contact:

Post by CapnBry » Sun Feb 22, 2004 9:22 am

Yeah I was actually looking around for the disarm button on my beastlord. I still don't have one. Also, what's the ENRAGE thing? I don't have that either.
-- Excalibur / DaocSkilla Lead Developer

Pheph
a hill giant
a hill giant
Posts: 196
Joined: Thu Oct 09, 2003 8:15 pm

Post by Pheph » Sun Feb 22, 2004 9:33 am

Enrage-thing is there to turn off attack when mob enrages =)

CapnBry
orc pawn
orc pawn
Posts: 24
Joined: Wed Jan 07, 2004 11:19 am
Location: The 5,000th Dimension of the Moon
Contact:

Post by CapnBry » Sun Feb 22, 2004 10:24 am

Getting a little off topic here, but I've only played EQ for a little over a month. Why turn off auto attack if they're enraged? Is that where they make 'yo mama ...' snaps if you hit them? :)
-- Excalibur / DaocSkilla Lead Developer

Pheph
a hill giant
a hill giant
Posts: 196
Joined: Thu Oct 09, 2003 8:15 pm

Post by Pheph » Sun Feb 22, 2004 10:38 am

When mobs enrage they'll riposte all attacks from the front.
It hurts pretty bad when we're talking PoTime-mobs =P

seph_yaro
a lesser mummy
a lesser mummy
Posts: 72
Joined: Sat Jul 26, 2003 1:12 pm

Post by seph_yaro » Mon Feb 23, 2004 2:05 pm

Well, I wasn't sure if Beastlords had disarm ^_^
I assumed that since the other of the melee and hybrid classes did, Beastlords did, also, heheh