Vish DT Detector and Remover

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

ultimateq
a lesser mummy
a lesser mummy
Posts: 44
Joined: Sun Aug 07, 2005 11:50 am

Vish DT Detector and Remover

Post by ultimateq » Wed Nov 02, 2005 8:33 pm

This macro was created by DM (DigitalMocking). Cause he is so cool. I gave him the initial idea with another vish mac that doesnt work well (if at all), but he made this whole thing from scratch. I am simply refining it

Since I am a lazy bard. I added the 'attackegg' in there. Rather then detecting class, and attacking the eggs based on class. You just decide whether or not you want to.

I added a second version for people who do not have MQ2MoveUtils. I don't know if it works. I suck at macroing, and did my best... If it does work, then it probably wont work great. I heavily reccomend getting MQ2MoveUtils.

Code: Select all

|vish.mac
|11.3.05
|Created by DigitalMocking, Inspired by ultimateq
|Vish DT Detector and Remover.
|This macro uses the MQ2MoveUtils plugin to seek out the mournful spirits.

Sub Main
|---------Edit this. If you want to attack eggs. Leave this at '1'. If you do not want to attack eggs, change it to '0'
  /declare attackegg int outer 1
|------------------------------
  /declare ${MainHand} string outer "Warspear of Vexation"
  /declare ${Blunt1} string outer "Despair"
  /declare ${Blunt2} string outer "Dark Metal Hammer"
  :Main_Loop
  /if (${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a mournful spirit"].ID}) /call Clear_Doom
  /if (!${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a tainted egg"].ID}  && (${attackegg.Equal[1]}) /call Crack_Eggs
  /goto Main_Loop
/return

Sub Clear_Doom
  /gsay DT! DT! Going to clear ASAP!
  :Clear_Doom
  /target id ${NearestSpawn[npc "a mournful spirit"].ID}
  /if (${Me.Sitting}) /stand
  /face
  /stick 10
  :Burden
  /if (!${Me.Buff[Creeping Doom]}) /return
  /if (${Target.Distance} < 20 && ${Target.ID}) {
    /say Shoulder My Burden
    /delay 3
  } else /if (!${Target.ID} && ${Spawn[npc "a mournful spirit"].ID}) {
    /goto :Clear_Doom
  } else {
    /delay 3
    /goto :Burden
  }
/return

Sub Crack_Eggs
  /say Egg!
  /target id ${Spawn[npc "a tainted egg"].ID}
  /face
  /stick 10
  /exchange ${Blunt1} mainhand
  /exchange ${Blunt2} offhand
  :Kill_Egg
  /if (${Target.Distance} < ${Target.MaxRangeTo} && !${Me.Combat}) /attack on
  /delay 3
  /if (${Target.ID} && ${Target.CleanName.Equal[a tainted egg]}) /goto :Kill_Egg
  /unequip offhand
  /exchange ${MainHand} mainhand
/return
Non MQ2MoveUtil Users can try this one.

Code: Select all

|vish.mac -- Non MQ2MoveUtils Version
|11.3.05
|Created by DigitalMocking, Inspired by ultimateq
|Vish DT Detector and Remover.
|This macro uses the MQ2MoveUtils plugin to seek out the mournful spirits.

Sub Main
|--------- Edit this. If you want to attack eggs. Leave this at '1'. If you do not want to attack eggs, change it to '0'
  /declare attackegg int outer 1
|------------------------------|
  /declare ${MainHand} string outer "Warspear of Vexation"
  /declare ${Blunt1} string outer "Despair"
  /declare ${Blunt2} string outer "Dark Metal Hammer"
  :Main_Loop
  /if (${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a mournful spirit"].ID}) /call Clear_Doom
  /if (!${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a tainted egg"].ID}  && ${attackegg.Equal[1]}) /call Crack_Eggs
  /goto Main_Loop
/return

Sub Clear_Doom
  /gsay DT! DT! Going to clear ASAP!
  :Clear_Doom
  /target id ${NearestSpawn[npc "a mournful spirit"].ID}
  /if (${Me.Sitting}) /stand
  /face predict
  /keypress up hold
  :Burden
  /if (!${Me.Buff[Creeping Doom]}) /return
  /if (${Target.Distance} < 55 && ${Target.ID}) {
    /say Shoulder My Burden
    /delay 3
  } else /if (!${Target.ID} && ${Spawn[npc "a mournful spirit"].ID}) {
    /goto :Clear_Doom
  } else {
    /delay 3
    /goto :Burden
  }
/return

Sub Crack_Eggs
  /say Egg!
  /target id ${Spawn[npc "a tainted egg"].ID}
  :Moveto_Egg
  /face
  /if ${Target.Distance} > 10 /keypress up hold
  /if ${Target.Distance} <= 10 /keypress up {
  /delay 2
  } else {
  /goto :Moveto_Egg
  }
  /exchange ${Blunt1} mainhand
  /exchange ${Blunt2} offhand
  :Kill_Egg
  /if (${Target.Distance} < ${Target.MaxRangeTo} && !${Me.Combat}) /attack on
  /delay 3
  /if (${Target.ID} && ${Target.CleanName.Equal[a tainted egg]}) /goto :Kill_Egg
  /unequip offhand
  /exchange ${MainHand} mainhand
/return
Last edited by ultimateq on Thu Nov 24, 2005 3:50 pm, edited 11 times in total.

DigitalMocking
a grimling bloodguard
a grimling bloodguard
Posts: 620
Joined: Mon Apr 04, 2005 5:53 pm

Post by DigitalMocking » Thu Nov 03, 2005 12:24 am

obviously this doesn't do anything about not having the spirit in line of sight because its behind the mountain, but it wouldn't be hard to fix for that really, just add a LoS check, and run to a defined midpoint before running after the spirit again.

Code: Select all

Sub Main 
  /declare ${MainHand} string outer "Warspear of Vexation" 
  /declare ${Blunt1} string outer "Despair" 
  /declare ${Blunt2} string outer "Dark Metal Hammer" 
  :Main_Loop 
  /if (${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a mournful spirit"].ID}) /call Clear_Doom 
  /if (!${Me.Buff[Creeping Doom].ID} && ${Spawn[npc "a tainted egg"].ID}  && !${Me.Class.PureCaster}) /call Crack_Eggs 
  /goto Main_Loop 
/return 

Sub Clear_Doom 
  /gsay DT! DT! Going to clear ASAP! 
  :Clear_Doom 
  /target id ${NearestSpawn[npc "a mournful spirit"].ID} 
  /if (${Me.Sitting}) /stand 
  /face 
  /stick 10 
  :Burden 
  /if (!${Me.Buff[Creeping Doom]}) /return 
  /if (${Target.Distance} < 20 && ${Target.ID}) { 
    /say Shoulder My Burden 
    /delay 3 
  } else /if (!${Target.ID} && ${Spawn[npc "a mournful spirit"].ID}) { 
    /goto :Clear_Doom 
  } else { 
    /delay 3 
    /goto :Burden 
  } 
/return 

Sub Crack_Eggs 
  /say Egg! 
  /target id ${Spawn[npc "a tainted egg"].ID} 
  /face 
  /stick 10 
  /exchange ${Blunt1} mainhand 
  /exchange ${Blunt2} offhand 
  :Kill_Egg 
  /if (${Target.Distance} < ${Target.MaxRangeTo} && !${Me.Combat}) /attack on 
  /delay 3 
  /if (${Target.ID} && ${Target.CleanName.Equal[a tainted egg]}) /goto :Kill_Egg 
  /unequip offhand 
  /exchange ${MainHand} mainhand 
/return 

ultimateq
a lesser mummy
a lesser mummy
Posts: 44
Joined: Sun Aug 07, 2005 11:50 am

Post by ultimateq » Thu Nov 03, 2005 7:12 am

Wow guy. Thats pretty awsome.

One thing I saw I'm not quite sure about was the '/stick' command. I noticed it works with MQ2MoveUtils. Probably VIP? :).


The egg thing may be a bit much, (for me anyway). but some dps classes may find it useful.

I thought an event might of worked. But the way you detect the dt seems much more practical.

In anycase, you are the man. I'll see what I can do (if anything) about refining it.

*edit*

wow guy. You already took into account the nondps classes. I certainly am impressed. I think I'll add some other classes in there.
Last edited by ultimateq on Thu Nov 03, 2005 7:19 am, edited 1 time in total.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Thu Nov 03, 2005 7:16 am

DM's code can always use refining :lol:
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

ultimateq
a lesser mummy
a lesser mummy
Posts: 44
Joined: Sun Aug 07, 2005 11:50 am

Post by ultimateq » Thu Nov 03, 2005 3:51 pm

I learned alot about flow control in tweaking this macro. and a few tricks as well.

Thanks DM, you rock!

Glacier
orc pawn
orc pawn
Posts: 22
Joined: Mon Oct 11, 2004 12:07 pm

Post by Glacier » Thu Nov 03, 2005 4:46 pm

A_Druid_00 wrote:DM's code can always use refining :lol:
yea, but it always seems to work!

DM for pres!

xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 8:18 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 8:56 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 8:57 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 8:58 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 8:59 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 9:00 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 9:02 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 9:03 pm


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Vish DT Detector and Remover

Post by xyilla » Sun Jun 22, 2025 9:04 pm