Warrior version of rogue-assist.mac with taunt/bash help

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

crisdan
a ghoul
a ghoul
Posts: 126
Joined: Mon Mar 24, 2003 1:56 pm

Warrior version of rogue-assist.mac with taunt/bash help

Post by crisdan » Thu Nov 13, 2003 2:49 pm

This is a cut-up version of GrimJacks rogue-assist.mac script. However I need some help with the adjsutments I am trying to add. I am using this on a pure warrior and wanted to add bashing as an event for caster mobs ; and I wanted to add a taunt routine in that would constantly try to keep aggo for this bot. Can somone look at what I have done with the Bash events and DoTaunt variables and tell me what I need to change?

Code: Select all

|tank.mac
|
#Turbo 72
#Event Enraged "has become ENRAGED"
#Event Offrage "is no longer enraged"
#Event Basher "begins to cast a spell"
#Event OffBasher "spell is interupted"

Sub Main
   /declare RangeMin global
   /declare RangeMax global
   /declare FastRange global
   /declare Combatstatus global
   /declare EnrageVar global
   /declare DoTaunt global 
   /declare BashVar global
   /varset RangeMin @Param0
   /varset RangeMax @Param1
   /varset FastRange @Param2
   /varset Combatstatus 0
   /varset EnrageVar 0
   /varset DoTaunt 0
   /varset BashVar 0
   :Mainloop
   /call Combatcheck
   /if @Combatstatus=="1" /call RangeSub
   /doevents
   /goto :Mainloop
/return


Sub Combatcheck
   /if @EnrageVar=="1" {
      /if $target()=="TRUE" {
         /return
      } else {
         /varset EnrageVar 0
         /varset Combatstatus 0
      }
   }
   /if @Basher=="1" {
      /if $target()=="TRUE" {
          /return
      } else {
          /varset Basher 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 DoTaunt
   /if n @DoTaunt==0 /return
   /if n $char(ability,"Taunt")!=-2 {
         /doability "Taunt"
   }   
/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

Sub Event_Basher
    /if $target()=="True" {
          /varset Basher 1
          /bash
      }
   }
    /return      
          
Sub Event_OffBasher
    /if $target()=="True" {
          /varset Basher 0
          /attack
      }
   }
     /return