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
/returnCode: 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

