lazy shadow knight melee raid assist

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

Moderator: MacroQuest Developers

honduras
orc pawn
orc pawn
Posts: 14
Joined: Sat Aug 30, 2003 5:22 pm

lazy shadow knight melee raid assist

Post by honduras » Sat Oct 11, 2003 12:09 am

Normally what i do is make a hotkey to assist MT.
What it does is will autocast Zevfeer's Bite and re-darkness when your snare spell worn off. Automelee attack on at close range, auto end macro when no target available.
Thankyou grimjack, wassup, plasmic coz i copy alot of lines from them. Now i can one finger assist , one hand do something else...

Code: Select all

#Event Loading "You have been slain by a" 
#Event See "You can't see your target"
#Event Darkness "Your Festering Darkness spell has worn off"
#event Fizzle "Your spell fizzles!" 
#event Interrupt "Your casting has been interrupted!" 
#event Interrupt "Your spell is interrupted." 
|#event Recover "You haven't recovered yet..." 
|#event Recover "Spell recovery time not yet met." 
#event Resisted "You target resisted the " 
#event OutOfMana "Insufficient Mana to cast this spell!" 
#event OutOfRange "Your target is out of range, get closer!" 
#event Stunned "You cannot cast while stunned" 
#event Standing "You must be standing to cast a spell" 
#event Collapse "Your gate is too unstable, and collapses." 
#event target "you must first select a target  for this spell"
#turbo

Sub Main
/declare mytimer timer
/varset mytimer 3s
/if "$target()"=="TRUE" /if n $target(distance)>=20 /attack on
   :Loop
      /if n $target(distance)>=20 /sendkey down up
      /if n $target(distance)>=18 /sendkey down up
      /if n $target(distance)<=10 /sendkey up up
      /if n $target(distance)<=8 /sendkey up up
      /if "$target()"=="TRUE" /if n $target(distance)>=20 /attack on
      /face fast
      /face look
      /doevents
      /if $char(ability,"Disarm")>0 /if n $target(distance)<=15 /doability "Disarm"
      /if $char(ability,"Bash")>0 /if n $target(distance)<=15 /if n $v30==0 /doability "Bash"
|      /if $char(ability,"taunt")>0 /if n $target(distance)<=15 /if n $v30==0 /doability "taunt"
      /if @mytimer==0 /if n $char(gem,"Zevfeer's Bite")!=-2 /call castspell
      /if "$target()"=="TRUE" /goto :Loop
      /face look
       /attack off
      /endmacro keep keys


     
sub castspell
/echo Zevfeer's bite inc
/doevent flush
/sendkey up up
/delay 5
/call cast "Zevfeer's Bite"
/varset mytimer 62s
/return

Sub Event_Enraged
  /varset v30 1
  /attack off
  /echo Atk off
  /sendkey down up
  /sendkey up up
  /face
  /return


Sub Event_See
/press down
/face fast
/press down
/return

Sub Event_Offrage
   /attack on
   /return

Sub Event_Gain 
   /attack off
   /endmacro keep keys

Sub Event_Loading
   /endmacro keep keys 



Sub Event_Darkness
/echo Festering Darkness
/doevents flush
/sendkey up up
/delay 5
/sendkey up up
/call cast "Festering Darkness"
/return


Sub Cast(SpellName) 
  /if n $char(gem,"@SpellName")==0 /return CAST_UNKNOWNSPELL 
  :StartCast 
  /if n $char(gem,"@SpellName")<0 /call WaitForRefresh "@SpellName" 
  /cast "@SpellName" 

|  :WaitCast 
|     /call ClearReturnValue 
|     /doevents Fizzle 
|     /doevents Interrupt 
|     /doevents Recover 
|     /doevents Standing 
|     /doevents OutOfRange 
|     /doevents OutOfMana 
|     /doevents Resisted 
 |    /if n $return==CAST_RESTART /goto :StartCast 
|     /if n $return>=CAST_RESTART /return $return 

 | /if "$char(casting)"=="TRUE" /goto :WaitCast 

/return CAST_SUCCESS 

Sub WaitForRefresh(SpellName) 
|   :LoopWaitForRefresh 
|      /delay 0 
|  /if n $char(gem,"@SpellName")<0 /goto :LoopWaitForRefresh 
/return 

Sub ClearReturnValue 
/return CAST_SUCCESS 

Sub Event_Fizzle 
/return CAST_RESTART 

Sub Event_Interrupt 
/return CAST_RESTART 

Sub Event_Recover 
   /delay 5 
/return 

Sub Event_Standing 
   /stand 
/return CAST_RESTART 

Sub Event_Collapse 
/return CAST_RESTART 

Sub Event_OutOfMana 
/return CAST_OUTOFMANA 

Sub Event_Select
/endmacro keep keys

Sub Event_OutOfRange 
/return CAST_OUTOFRANGE 

Sub Event_Stunned 
/return CAST_STUNNED 

Sub Event_Resisted 
/return CAST_RESISTED
Sub Event_Stunned 
   /varset CastStatus CAST_STUNNED 
/return 

Sub Event_Resisted 
   /varset CastStatus CAST_RESISTED 
/return 


blamstick
orc pawn
orc pawn
Posts: 27
Joined: Sat Sep 06, 2003 6:50 pm

fight.mac with avatar changer

Post by blamstick » Fri Nov 07, 2003 11:00 am

This is what I use and it's modified for a beastlord. It's modified with pet attack, back off commands and also some additional spells for tanking and doing dmg. I also added Begging but commented it out. Can turn it on if you want to tank for that extra aggro it might add.

Mainly though, I've added a basic avatar switcher so if avatar fades during combat, it will automatically equip it until it procs, then switch back to your normal weapon. To get it started just equip your avatar weapon during combat and it should switch back to your normal weapon after the proc occurs. I initially had an avatar spell check to see if the buff was up and equip the proper weapon based on that but it caused some lag so I use this method instead.

Code: Select all

| fight.mac
#Event ProcInc "The Avatar departs."
#Event ProcGo "Your body screams with the power of an Avatar."
#Event Loading "You have been slain by a" 
#Event See "You can't see your target" 
#event Fizzle "Your spell fizzles!" 
#event Interrupt "Your casting has been interrupted!" 
#event Interrupt "Your spell is interrupted." 
#event Resisted "You target resisted the " 
#event OutOfMana "Insufficient Mana to cast this spell!" 
#event OutOfRange "Your target is out of range, get closer!" 
#event Stunned "You cannot cast while stunned" 
#event Standing "You must be standing to cast a spell" 
#event target "you must first select a target  for this spell" 
#turbo 

Sub Main

| /tell genbotname attack | FOR BOXING, ADD BOT COMMANDS

/declare mytimer timer
/declare mytimer2 timer
| /declare mytimer3 timer  |FOR TANKING TURN ON

/varset mytimer 3s 
/varset mytimer2 3s 
| /varset mytimer3 3s  |FOR TANKING TURN ON

| /call castspell4 | FOR TANKING TURN ON

/if "$target()"=="TRUE" /if n $target(distance)>=20 /attack on

   :Loop 
      /if n $target(distance)>=20 /sendkey down up 
      /if n $target(distance)>=18 /sendkey down up 
      /if n $target(distance)<=10 /sendkey up up 
      /if n $target(distance)<=8 /sendkey up up 
      /if "$target()"=="TRUE" /if n $target(distance)>=20 /attack on 
      /face fast 
      /doevents 
      /if $char(ability,"Kick")>0 /if n $target(distance)<=15 /doability "Kick" 

    |  /if $char(ability,"Begging")>0 /if n $target(distance)<=15 /if n $v30==0 {
    |  /attack off
    |  /doability Begging 
    |  /attack on
|}

 |/if @mytimer3==0 /if n $char(gem,"Flash of Light")!=-2 /if n $char(mana,pct)>10 /call castspell3 | FOR TANKING - SET THIS TO YOUR AGGRO SPELL
 /if @mytimer==0 /if n $char(gem,"Frost Spear")!=-2 /if n $char(mana,pct)>15 /call castspell
 /if @mytimer2==0 /if n $char(gem,"Ice Shard")!=-2 /if n $char(mana,pct)>15 /call castspell2

      /if "$target()"=="TRUE" /goto :Loop 
       /attack off 
      /endmacro keep keys 
      
Sub castspell |DMG AGGRO SPELL
|/echo Frost Spear inc
/doevent flush 
/sendkey up up 
/delay 5 
/call cast "Frost Spear"
/varset mytimer 31s 
/return

Sub castspell2 | DMG/AGGRO SPELL
|/echo Frost Spear inc 
/doevent flush 
/sendkey up up 
/delay 5 
/call cast "Ice Shard"
/varset mytimer2 31s 
/return

Sub castspell3 | AGGRO SPELL FOR TANKING
|/echo aggro spell inc
/doevent flush 
/sendkey up up 
/delay 5 
/call cast "Flash of Light"
/varset mytimer3 8s 
/return

Sub castspell4 | AGGRO SPELL
|/echo debuff inc
/doevent flush 
/sendkey up up 
/delay 5 
/call cast "Incapacitate"
/delay 2s
| /g Debuffing %T
/return

Sub Event_Enraged 
  /varset v30 1 
  /attack off
  /pet back off
  /echo Atk off 
  /sendkey down up 
  /sendkey up up 
  /face 
  /return 

Sub Event_See
/press down 
/face fast 
/press down 
/return 

Sub Event_Offrage
   /attack on
   /pet attack
   /return 

Sub Event_Gain 
   /attack off 
   /endmacro keep keys 

Sub Event_Loading 
   /endmacro keep keys 

Sub Cast(SpellName) 
  /if n $char(gem,"@SpellName")==0 /return CAST_UNKNOWNSPELL 
  :StartCast
  /if n $char(gem,"@SpellName")<0 /call WaitForRefresh "@SpellName" 
  /cast "@SpellName" 

/return CAST_SUCCESS 

Sub WaitForRefresh(SpellName) 
/return

Sub ClearReturnValue 
/return CAST_SUCCESS 

Sub Event_Fizzle 
/return CAST_RESTART 

Sub Event_Interrupt 
/return CAST_RESTART 

Sub Event_Recover 
   /delay 5 
/return 

Sub Event_Standing 
   /stand 
/return CAST_RESTART 

Sub Event_OutOfMana 
/return CAST_OUTOFMANA 

Sub Event_Select 
/endmacro keep keys 

Sub Event_OutOfRange 
/return CAST_OUTOFRANGE 

Sub Event_Stunned 
/return CAST_STUNNED 

Sub Event_Resisted 
/return CAST_RESISTED 
Sub Event_Stunned 
   /varset CastStatus CAST_STUNNED 
/return 

Sub Event_Resisted 
   /varset CastStatus CAST_RESISTED 
/return 

Sub Event_ProcInc
/cleanup
/delay 2
/press i
/delay 2
/finditem "Ancient Prismatic Staff" | SET TO YOUR PRIMAL
/delay 2
/click left primary
/delay 2
/autoinv
/delay 2
/cleanup
/delay 2
/press `
/return

Sub Event_ProcGo
/cleanup
/delay 2
/press i
/delay 2
/finditem "Exquisite Puresteel Wraps"  | SET TO YOUR PRIMARY WEAPON
/delay 2
/click left primary
/delay 2
/autoinv
/delay 2
/cleanup
/delay 2
/press `
/return

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Re: lazy shadow knight melee raid assist

Post by Mckorr » Fri Nov 07, 2003 11:18 am

honduras wrote:Now i can one finger assist , one hand do something else...
Just don't tell us what you are doing with your other hand....
MQ2: Think of it as Evolution in action.