Assist and nuke a non agro target

maximoh

Lifetime Member
Joined
Jul 14, 2008
Messages
73
Reaction score
22
Points
8
I've mostly been using mq2bot as it runs out the box without major tweaking but have run into an irritating set of circumstances.

In a couple of quests I've needed to kill non agro targets, destroy barrels etc or deal with moving non agro targets. For the most part it happens so infrequently that I just deal with the fact its slow with only 2 melee characters and a pet. But I've hit a roadblock with one quest which I should be able to do easily but can't work out a reliable way to dps a non agro moving target.

/killthis works to get melee and pets attacking but all the casters in my group just stand like lemons.

Ideally I'd love for them to cast though dots and nukes and keep in los and range in order to burn the target down.

Is there something relatively simple to implement which will fulfill the criteria or do I need to work out something more custom?
 
Can you just /twist the spell gems you want spammed?

Would be fairly easy to write a more complex macro but need more information about your setup and what you want cast.
 
Thanks, not a bad idea with the /twist for nuking but ended up writing a simple macro to move each time they lost LOS or went out of range between casts and to manage dots.
 
Thanks, not a bad idea with the /twist for nuking but ended up writing a simple macro to move each time they lost LOS or went out of range between casts and to manage dots.

Care to share your code for the next person who might need it ? or get inspire to try and write their own ?
 
Sure, it's very much specific to my characters though, and would need quite some modification for others to use (and I'm a little ashamed at how quick and dirty it is but hey it worked!)

This was specifically thrown together for the "Sarnak Among Us" quest in Frontier Mountains whereby you need to attack a non agro bomb that's constantly moving away from you. Melee characters were using grappling strike as often as possible and enchanter knockback to gain more time.

My box set up is WAR MNK SHM CLR ENC MAG and have just started back to the game so they are extremely undergeared, (lvl 110 still wearing lvl 85 heroic character gear in parts without augs).

Initially my code was set up with ${Me.Name.Equal[name]} but for obvious reasons I've modified that!

Additionally spell gems could be replaced with names etc...

In any case my macro with all it's warts!:


Code:
|NukesAway.mac
|Created by maximoh - 27 FEB 05
|-Required plugins
|USE: /macro nukesaway

#include MQ2Cast.inc

#turbo 10
   /Echo =============================
   /Echo Maximoh's Automated Nuker
   /Echo =============================

Sub Main
   :mainLoop
      /if (!${Target.Type.Equal[NPC]}) /call Targetting
      /if (${Me.Casting.ID}) /goto :mainLoop
      /if (${Me.Class.ShortName.Find[MNK]} || ${Me.Class.ShortName.Find[WAR]}) {
         /if (${Me.AltAbilityReady[601]}) /alt act 601
         /delay 1s
         /goto :mainLoop
      }
      /if (!${Me.Casting.ID}) {
             /if (!${Target.LineOfSight}) /call Movement
             /if (${Target.Distance} > 100) /call Movement
             /if (!${Me.Moving}) /call Combat
         }
   /goto :mainLoop
  
Sub Combat
   /if (!${Target.Type.Equal[NPC]}) /return
   /delay 0.2
   /if (${Me.Moving}) /return
    /if (${Me.Class.ShortName.Find[CLR]}) {
      /if (${Me.SpellReady[7]}) /cast 7   
   }
   /if (${Me.Class.ShortName.Find[ENC]}) {
      /if (${Me.SpellReady[9]}) /cast 9
      /if (${Me.SpellReady[11]}) /cast 11
   }
   /if (${Me.Class.ShortName.Find[SHM]}) {
      /if (${Me.SpellReady[8]} && (!${Target.Buff[Reef Crawler Blood].ID} || !${Target.Buff[Nectar of Woe].ID})) /cast 8
      /if (${Me.SpellReady[9]} && (!${Target.Buff[Rirwech's Affliction].ID})) /cast 9
      /if (${Me.SpellReady[10]} && (!${Target.Buff[Mawmun's Venom].ID})) /cast 10
      /if (${Me.SpellReady[11]} && (!${Target.Buff[Jinx].ID}) ) /cast 11
      /if (${Me.SpellReady[6]}) /cast 6
      /if (${Me.SpellReady[12]}) /cast 12
   }
   /if (${Me.Class.ShortName.Find[MAG]}) {
      /if (${Me.SpellReady[2]}) /cast 2
      /if (${Me.SpellReady[3]}) /cast 3
      /if (${Me.SpellReady[4]}) /cast 4
      /if (${Me.SpellReady[5]}) /cast 5
   }
/return

Sub Targetting
   /target bomb
   /return

/endmacro

Sub Movement
   /nav target
   /delay 1s
   /return
 
Last edited:
Sure, it's very much specific to my characters though, and would need quite some modification for others to use (and I'm a little ashamed at how quick and dirty it is but hey it worked!)

There are many ways to get from here to there. The code looks fine to me and might give others an ideas on how to code up something when they need something quick and dirty that just works.

----------------------------------------------------------------------------------

Some ideas that might help if you need to do something in the future.


|- Use ${Spawn[]} to see if a bomb is up rather than potentially spamming /target XYZ

Code:
Sub Targetting
    /if (${Spawn[npc bomb].ID}) /target bomb
/return

|- Several ways to do a 'chase mode' . The delay and stop are completely optional, mostly there to so how it could be done.

Code:
Sub FollowBomb
   /if (!${Spawn[npc bomb].ID}) /return 
   /if (!${Spawn[npc bomb LOS].ID} || ${Spawn[npc bomb].Distance > 150} {
       /nav spawn bomb
       /delay 6s !${Navigation.Active}
       /if (${Navigation.Activate}) /nav stop
  }
 
Thanks for the input, those make sense! I hadn't even considered the spamming target issue as I only ran the macro once the mob's in question had spawned.