• IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
Resource icon

Quest / Event Hatchery.mac 1.0

Download now: Join us with Level 2 access
or earn your way in with RedCents.
Software Requirements
[Plugins]
MQ2Cast
MQ2AutoAccept
MQ2AdvPath
MQ2Nav
MQ2EQBC

[Includes]
MQ2Cast_Spell_Routines.inc (Included with Very Vanilla Compile)
Keep in mind if you run this macro you're in Plane of Knowledge!

Features:
- Automatic instance flipping until stopped
- PowerLevels up to 5 Characters
- Configurations for Self Buffs and Spells
- Enable/Disable Sitting during pull until below set percent HP
- Adds YourBard to MQ2AutoAccept automatically
- Tank pulls the entire hatchery back to the entrance
- YourBard is sent to Chords of Dissonance once Tank has aggro
- Made for 85 Heroic Shadowknight out of the box
-- Shadowknight will use AoE Aggro spells to hold mob aggro once they are all pulled
-- Supports up to 5 AoE Aggro Spells

Instructions:
- For quicker PowerLeveling make sure to /claim Gift of Legacies Lost. This box contains 10 free adventure potions for bonus experience!
- Setup PL group in front of Destrea
- By default this macro is made to run on a fresh heroic 85 Shadowknight.
-- If running a different level ShadowKnight modify Spells section.
- Make sure YourBard is the leader of your PowerLevel group.
- Make sure YourBard has Chords of Dissonance memmed in gem slot #1.
- Make sure you generate a Nav Mesh for The Hatchery before running the macro.
- Modify the top part of the file inserting YourTank's name, YourBard's name, and all your PLee's names. Also Enable/Disable the slots you are/aren't using.
Example:
Rich (BB code):
        /declare UsePlee1 bool outer TRUE
	/declare PLee1 string outer TheDruidsBard
	/declare UsePlee2 bool outer TRUE
	/declare PLee2 string outer TheDruidsToonGettingPL
- Once everything is configured run the macro on your Shadowknight with /ma Hathery. Your tank should get invited into the group to get the mission and drop after entering the mission.

Hatchery.mac
Rich (BB code):
#turbo 40
|------------------------------------------------------------|
|          Hatchery.mac
|
|      Last Modified by: TheDroidUrLookingFor
|				Version: 1.4.3
|
|	Requires: MQ2EQBC, MQ2Cast, MQ2Nav, MQ2AutoAccept, 
| and MQ2AdvPath
|
|	Information: A NavMesh for The Hatchery is required to run
| this macro. Modify you character names and such below.
| This macro assumes PLee1 is a level 10+ bard with the song
| Chant of Dissonance in gem1. It also assumes PLee1 is the
| group leader. All characters should be already at Destrea.
| This macro is meant to be run on the Tank doing the PL.
|
|	Bonus: Claim your Gift of Legacies Lost for 10 free 
| experience potions! This will really speed up the process.
|------------------------------------------------------------|
|------------------------------------------------------------|
|          Includes
|------------------------------------------------------------|
	#include MQ2Cast_Spell_Routines.inc
	#define CASTMODE       "MQ2Cast"
|------------------------------------------------------------|
|          Defines
|------------------------------------------------------------|
	#define CHATMETHOD          "/bc"
	#define CHATMETHOD1       	"/echo"
	#define DEBUGCHAT			"/echo [DEBUG]"
|------------------------------------------------------------|
sub Declares
|---------------Start Edit-----------------------------------|
|---------------Toggles--------------------------------------|
	/declare SitOnPull bool outer TRUE
	/declare StopSit int outer 90
	/declare PauseAggro bool outer TRUE
	/declare ShowDebug bool outer FALSE
|---------------PLee Variables-------------------------------|
	/declare UsePlee1 bool outer TRUE
	/declare PLee1 string outer YourBard
	/declare UsePlee2 bool outer FALSE
	/declare PLee2 string outer YourPLee
	/declare UsePlee3 bool outer FALSE
	/declare PLee3 string outer YourPLee
	/declare UsePlee4 bool outer FALSE
	/declare PLee4 string outer YourPLee
	/declare UsePlee5 bool outer FALSE
	/declare PLee5 string outer YourPLee
|---------------Tank Name------------------------------------|
	/declare Tank string outer YourTank
	/declare TankMemSpells bool outer TRUE
	/declare TankStartBuff bool outer TRUE
	/declare UseTankBuff1 bool outer TRUE
	/declare TankBuff1 string outer Malarian Skin
	/declare TankBuffGem1 int outer 1
	/declare UseTankBuff2 bool outer TRUE
	/declare TankBuff2 string outer Remorseless Demeanor
	/declare TankBuffGem2 int outer 2
	/declare UseTankBuff3 bool outer TRUE
	/declare TankBuff3 string outer Drape of Korafax
	/declare TankBuffGem3 int outer 3
	/declare UseTankBuff4 bool outer TRUE
	/declare TankBuff4 string outer Shroud of the Plagueborn
	/declare TankBuffGem4 int outer 4
	/declare UseTankBuff5 bool outer TRUE
	/declare TankBuff5 string outer Amygdalan Horror
	/declare TankBuffGem5 int outer 5
	/declare UseTankBuff6 bool outer FALSE
	/declare TankBuff6 string outer Steely Stance
	/declare TankBuffGem6 int outer 6
|---------------Tank Spells----------------------------------|
	/declare UsePullTaunt1 bool outer TRUE
	/declare PullTaunt1 string outer Terror of Jelvalak
	/declare PullTauntGem1 int outer 6
	/declare UsePullTaunt2 bool outer TRUE
	/declare PullTaunt2 string outer Terror of the Soulbleeder
	/declare PullTauntGem2 int outer 7
	/declare UsePullTaunt3 bool outer TRUE
	/declare PullTaunt3 string outer Terror of Vergalid
	/declare PullTauntGem3 int outer 8
	/declare UseAoEAggro1 bool outer TRUE
	/declare AoEAggro1 string outer Burst of Spite
	/declare AoEAggroGem1 int outer 9
	/declare UseAoEAggro2 bool outer TRUE
	/declare AoEAggro2 string outer Revile
	/declare AoEAggroGem2 int outer 10
	/declare UseAoEAggro3 bool outer TRUE
	/declare AoEAggro3 string outer Vilify
	/declare AoEAggroGem3 int outer 11
	/declare UseAoEAggro4 bool outer TRUE
	/declare AoEAggro4 string outer Dread Gaze
	/declare AoEAggroGem4 int outer 12
	/declare UseAoEAggro5 bool outer FALSE
	/declare AoEAggro5 string outer 
	/declare AoEAggroGem5 int outer 4
|---------------Stop Edit------------------------------------|
	/declare CurrentVersion string outer 1.4.3
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Declares Exit
/return
sub Main
	:Setup
	CHATMETHOD Setting things up boss!
	/call CheckPlugin MQ2Cast
	/call CheckPlugin MQ2AutoAccept
	/call CheckPlugin MQ2AdvPath
	/call CheckPlugin MQ2Nav
	/call Declares
	/autoaccept add ${PLee1}
	/autoaccept save
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Hatchery PL Bot started! Version: ${CurrentVersion} Debug: ${ShowDebug}
	:StartupBuffs
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Checking ${Tank}'s self buffs.
	/call CheckTankBuffs
	:CheckSpells
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Checking ${Tank}'s memmed spells.
	/if (${TankMemSpells}) /call CheckSpellsMemmed
	:InviteTank
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Inviting ${Tank} with ${PLee1}.
	/squelch /bct ${PLee1} //invite ${Tank}
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Waiting for group with ${Tank}.
	/delay 300s ${Group.Member[${PLee1}].ID}
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Targetting Destrea with ${Tank}.
	/tar destrea
	/delay 1
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Getting mission with ${Tank}.
	/say investigate
	/delay 35s
	:SayReady
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Targetting Destrea with PLee's.
	/if (${UsePlee1}) /squelch /bct ${PLee1} //tar destrea
	/if (${UsePlee2}) /squelch /bct ${PLee2} //tar destrea
	/if (${UsePlee3}) /squelch /bct ${PLee3} //tar destrea
	/if (${UsePlee4}) /squelch /bct ${PLee4} //tar destrea
	/if (${UsePlee5}) /squelch /bct ${PLee5} //tar destrea
	/delay 5s
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Sending PLee's into the instance.
	/if (${UsePlee1}) /squelch /bct ${PLee1} //say ready
	/if (${UsePlee2}) /squelch /bct ${PLee2} //say ready
	/if (${UsePlee3}) /squelch /bct ${PLee3} //say ready
	/if (${UsePlee4}) /squelch /bct ${PLee4} //say ready
	/if (${UsePlee5}) /squelch /bct ${PLee5} //say ready
	/delay 5s
	:TankEnter
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> ${Tank} attempting to enter instance.
	CHATMETHOD Attempting to enter instance on Tank
	/say ready
	:InsideHatchery
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Waiting till in Hatchery zone.
	/delay 300s ${Zone.Name.Equal[Hatchery Wing]}
	CHATMETHOD Leaving group on Tank
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Leaving group on ${Tank}.
	/disband
	CHATMETHOD All PLee's should be in Hatchery now!
	:RoundUpMobs
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Beginning roundup procedure.
	/call NavigatePLZone
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Waiting for mobs to get to entrance.
	/delay 10s
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Aggroing mobs so bard isn't sent to their death.
	/if (${Me.SpellReady[${AoEAggro1}]} && ${UseAoEAggro1}) /call CASTMODE "${Spell[${AoEAggro1}].RankName}" "gem${AoEAggroGem1}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro2}]} && ${UseAoEAggro2}) /call CASTMODE "${Spell[${AoEAggro2}].RankName}" "gem${AoEAggroGem2}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro3}]} && ${UseAoEAggro3}) /call CASTMODE "${Spell[${AoEAggro3}].RankName}" "gem${AoEAggroGem3}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro4}]} && ${UseAoEAggro4}) /call CASTMODE "${Spell[${AoEAggro4}].RankName}" "gem${AoEAggroGem4}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro5}]} && ${UseAoEAggro5}) /call CASTMODE "${Spell[${AoEAggro5}].RankName}" "gem${AoEAggroGem5}" 5s
	/delay 3s ${Cast.Ready}
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Sending ${PLee1} into position.
	/squelch /bct ${PLee1} //nav locxyz -54.71 1.89 7.15
	/squelch /bct ${PLee1} //twist 1
	:WaitForMobs
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Keeping aggro on all the mobs in camp.
	/if (${Me.SpellReady[${AoEAggro1}]} && ${UseAoEAggro1}) /call CASTMODE "${Spell[${AoEAggro1}].RankName}" "gem${AoEAggroGem1}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro2}]} && ${UseAoEAggro2}) /call CASTMODE "${Spell[${AoEAggro2}].RankName}" "gem${AoEAggroGem2}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro3}]} && ${UseAoEAggro3}) /call CASTMODE "${Spell[${AoEAggro3}].RankName}" "gem${AoEAggroGem3}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro4}]} && ${UseAoEAggro4}) /call CASTMODE "${Spell[${AoEAggro4}].RankName}" "gem${AoEAggroGem4}" 5s
	/delay 3s ${Cast.Ready}
	/if (${Me.SpellReady[${AoEAggro5}]} && ${UseAoEAggro5}) /call CASTMODE "${Spell[${AoEAggro5}].RankName}" "gem${AoEAggroGem5}" 5s
	/if (${SitOnPull} && ${Me.Standing} && ${Me.PctHPs} > ${StopSit}) /sit
	/delay 1s
	/if (${SpawnCount[npc targetable radius 60 zradius 50 noalert 3]}==0) /goto :KilledDaMobs
	/if (${Me.XTarget[1].ID}) /goto :WaitForMobs
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Mobs clear moving on.
	/delay 10s !${Me.XTarget[1].ID}
	:KilledDaMobs
	/if (!${Me.Standing}) /stand
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Everythings dead lets roll out!
	CHATMETHOD All mobs should be dead now!
	/delay 2s
	:PLeeExitZone
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to stop twist on PLee1.
	/if (${UsePlee1}) /squelch /bct ${PLee1} //twist clear
	/delay 1s
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to taskquit on PLees.
	/if (${UsePlee1}) /squelch /bct ${PLee1} //taskquit
	/if (${UsePlee2}) /squelch /bct ${PLee2} //taskquit
	/if (${UsePlee3}) /squelch /bct ${PLee3} //taskquit
	/if (${UsePlee4}) /squelch /bct ${PLee4} //taskquit
	/if (${UsePlee5}) /squelch /bct ${PLee5} //taskquit
	/delay 2s
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to send all PLees out of zone!
	/if (${UsePlee1}) /squelch /bct ${PLee1} //nav locxyz -43.82 -33.27 4.04
	/delay 2s
	/if (${UsePlee1}) /squelch /bct ${PLee1} //moveto loc -32 -100 6
	/if (${UsePlee2}) /squelch /bct ${PLee2} //moveto loc -32 -100 6
	/if (${UsePlee3}) /squelch /bct ${PLee3} //moveto loc -32 -100 6
	/if (${UsePlee4}) /squelch /bct ${PLee4} //moveto loc -32 -100 6
	/if (${UsePlee5}) /squelch /bct ${PLee5} //moveto loc -32 -100 6
	/delay 2s
	/nav locxyz -43.82 -33.27 4.04
	/delay 20s !${Navigation.Active}
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Quitting task on ${Tank}.
	/taskquit
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to leave zone on ${Tank}.
	/moveto loc -32 -100 6
	/delay 5s
	CHATMETHOD All PLee's should be out of zone and task!
	:TankExitZone
	/delay 300s ${Zone.Name.Equal[The Plane of Knowledge]}
	CHATMETHOD Tank is in Plane of Knowledge starting over!
	/goto :CheckSpells
/return
Sub CheckPlugin(string pluginname)
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckPlugin(${pluginname}) Entry
	/if (!${Bool[${Plugin[${pluginname}]}]}) {
		/squelch /plugin ${pluginname}
		CHATMETHOD ${pluginname} not detected! This macro requires it! Loading ...
	}
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckPlugin(${pluginname}) Exit
/return
Sub CheckTankBuffs
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckTankBuffs Entry
	/if (!${Me.Buff[${Spell[${TankBuff1}].RankName}].ID} && ${UseTankBuff1}) /call CASTMODE "${Spell[${TankBuff1}].RankName}" "gem${TankBuffGem1}" 15s
	/if (!${Me.Buff[${Spell[${TankBuff2}].RankName}].ID} && ${UseTankBuff2}) /call CASTMODE "${Spell[${TankBuff2}].RankName}" "gem${TankBuffGem2}" 15s
	/if (!${Me.Buff[${Spell[${TankBuff3}].RankName}].ID} && ${UseTankBuff3}) /call CASTMODE "${Spell[${TankBuff3}].RankName}" "gem${TankBuffGem3}" 15s
	/if (!${Me.Buff[${Spell[${TankBuff4}].RankName}].ID} && ${UseTankBuff4}) /call CASTMODE "${Spell[${TankBuff4}].RankName}" "gem${TankBuffGem4}" 15s
	/if (!${Me.Buff[${Spell[${TankBuff5}].RankName}].ID} && ${UseTankBuff5}) /call CASTMODE "${Spell[${TankBuff5}].RankName}" "gem${TankBuffGem5}" 15s
	/if (!${Me.Buff[${Spell[${TankBuff6}].RankName}].ID} && ${UseTankBuff6}) /call CASTMODE "${Spell[${TankBuff6}].RankName}" "gem${TankBuffGem6}" 15s
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckTankBuffs Exit
/return
Sub CheckSpellsMemmed
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckSpellsMemmed Entry
	/if ((!${Me.Gem[${PullTaunt1}]} || ${Me.Gem[${PullTauntGem1}].Name.NotEqual[${PullTaunt1}]}) && ${UsePullTaunt1}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${PullTaunt1}].RankName} in ${PullTauntGem1}.
		/memspell ${PullTauntGem1} "${Spell[${PullTaunt1}].RankName}"
		/delay 5s ${Me.Gem[${PullTauntGem1}].Name.Equal[${PullTaunt1}]}
	}
	/if ((!${Me.Gem[${PullTaunt2}]} || ${Me.Gem[${PullTauntGem2}].Name.NotEqual[${PullTaunt2}]}) && ${UsePullTaunt2}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${PullTaunt2}].RankName} in ${PullTauntGem2}.
		/memspell ${PullTauntGem2} "${Spell[${PullTaunt2}].RankName}"
		/delay 90s ${Me.Gem[${PullTauntGem2}].Name.Equal[${PullTaunt2}]}
	}
	/if ((!${Me.Gem[${PullTaunt3}]} || ${Me.Gem[${PullTauntGem3}].Name.NotEqual[${PullTaunt3}]}) && ${UsePullTaunt3}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${PullTaunt3}].RankName} in ${PullTauntGem3}.
		/memspell ${PullTauntGem3} "${Spell[${PullTaunt3}].RankName}"
		/delay 90s ${Me.Gem[${PullTauntGem3}].Name.Equal[${PullTaunt3}]}
	}
	/if ((!${Me.Gem[${AoEAggro1}]} || ${Me.Gem[${AoEAggroGem1}].Name.NotEqual[${AoEAggro1}]}) && ${UseAoEAggro1}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${AoEAggro1}].RankName} in ${AoEAggroGem1}.
		/memspell ${AoEAggroGem1} "${Spell[${AoEAggro1}].RankName}"
		/delay 90s ${Me.Gem[${AoEAggroGem1}].Name.Equal[${AoEAggro1}]}
	}
	/if ((!${Me.Gem[${AoEAggro2}]} || ${Me.Gem[${AoEAggroGem2}].Name.NotEqual[${AoEAggro2}]}) && ${UseAoEAggro2}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${AoEAggro2}].RankName} in ${AoEAggroGem2}.
		/memspell ${AoEAggroGem2} "${Spell[${AoEAggro2}].RankName}"
		/delay 90s ${Me.Gem[${AoEAggroGem2}].Name.Equal[${AoEAggro2}]}
	}
	/if ((!${Me.Gem[${AoEAggro3}]} || ${Me.Gem[${AoEAggroGem3}].Name.NotEqual[${AoEAggro3}]}) && ${UseAoEAggro3}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${AoEAggro3}].RankName} in ${AoEAggroGem3}.
		/memspell ${AoEAggroGem3} "${Spell[${AoEAggro3}].RankName}"
		/delay 90s ${Me.Gem[${AoEAggroGem3}].Name.Equal[${AoEAggro3}]}
	}
	/if ((!${Me.Gem[${AoEAggro4}]} || ${Me.Gem[${AoEAggroGem4}].Name.NotEqual[${AoEAggro4}]}) && ${UseAoEAggro4}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${AoEAggro4}].RankName} in ${AoEAggroGem4}.
		/memspell ${AoEAggroGem4} "${Spell[${AoEAggro4}].RankName}"
		/delay 90s ${Me.Gem[${AoEAggroGem4}].Name.Equal[${AoEAggro4}]}
	}
	/if ((!${Me.Gem[${AoEAggro5}]} || ${Me.Gem[${AoEAggroGem5}].Name.NotEqual[${AoEAggro5}]}) && ${UseAoEAggro5}) {
		/if (${Me.Standing}) /sit
		/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to mem ${Spell[${AoEAggro5}].RankName} in ${AoEAggroGem5}.
		/memspell ${AoEAggroGem5} "${Spell[${AoEAggro5}].RankName}"
		/delay 90s ${Me.Gem[${AoEAggroGem5}].Name.Equal[${AoEAggro5}]}
	}
	/if (!${Me.Standing}) /stand
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> CheckSpellsMemmed Exit
/return
Sub BotMove(int x, int y, int z)
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> BotMove(${x} ${y} ${z}) Entry
	/nav locxyz ${x} ${y} ${z}
	/delay 300s !${Navigation.Active}
	/squelch /target clear
	/delay 10s !${Target.ID}
	/target ID ${NearestSpawn[npc].ID}
	/delay 10s ${Target.ID}
	/if (${Me.SpellReady[${PullTaunt1}]} && ${UsePullTaunt1}) {
		/if (${Me.SpellReady[${Spell[${PullTaunt1}].RankName}]} && ${UsePullTaunt1}) /call CASTMODE "${Spell[${PullTaunt1}].RankName}" "gem${PullTauntGem1}" 5s
	} else /if (${Me.SpellReady[${Spell[${PullTaunt2}].RankName}]} && ${UsePullTaunt2}) {
		/if (${Me.SpellReady[${Spell[${PullTaunt2}].RankName}]} && ${UsePullTaunt2}) /call CASTMODE "${Spell[${PullTaunt2}].RankName}" "gem${PullTauntGem2}" 5s
	} else {
		/if (${Me.SpellReady[${Spell[${PullTaunt3}].RankName}]} && ${UsePullTaunt3}) /call CASTMODE "${Spell[${PullTaunt3}].RankName}" "gem${PullTauntGem3}" 5s
	}
	/if (${PauseAggro}) /delay 2s ${Target.PctAggro}
	/squelch /target clear
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> BotMove(${x} ${y} ${z}) Exit
/return
Sub NavigatePLZone
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> NavigatePLZone Entry
	| Spot #1
	/call BotMove 10.02 31.56 3.95
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #1!
	| Spot #2
	/call BotMove 16.41 0.09 4.01
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #2!
	| Spot #3
	/call BotMove 14.36 -32.59 4.04
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #3!
	| Spot #4
	/call BotMove 145.22 -148.90 -20.10
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #4!
	| Spot #5
	/call BotMove 238.66 -271.61 -49.54
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #5!
	| Spot #6
	/call BotMove 347.92 -177.78 -86.51
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #6!
	| Spot #7
	/call BotMove 309.63 -26.02 -130.13
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #7!
	| Spot #8
	/call BotMove 310.07 31.20 -130.21
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #8!
	| Spot #9
	/call BotMove 617.68 -64.15 -21.43
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #9!
	| Spot #10
	/call BotMove 665.01 0.39 -21.41
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #10!
	| Spot #11
	/call BotMove 619.58 55.14 -21.42
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #11!
	| Spot #12
	/call BotMove 359.02 175.75 -86.47
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #12!
	| Spot #13
	/call BotMove 249.38 244.23 -53.73
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #13!
	| Spot #14
	/call BotMove 138.04 168.11 -17.99
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #14!
	| Spot #15
	/call BotMove 102.53 135.77 -20.22
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #15!
	| Spot #16
	/call BotMove 163.81 122.97 -20.91
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #16!
	| Spot #17
	/call BotMove 157.50 11.50 -28.97
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to spot #17!
	| Run back to entrance
	/call BotMove -53.88 9.62 4.04
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Attempting to move to zone entrance!
	/delay 300s !${Navigation.Active}
	/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> Rounded up all the mobs we could!
	CHATMETHOD I rounded up all the mobs I could boss!
/if (${ShowDebug}) DEBUGCHAT [${Macro.Name} @ ${Macro.CurLine}] ---> NavigatePLZone Exit
/return
Special Thanks: dannuic's Hatching a Plan Instance Flipping
Server Type
Live, Test Server
Author
TheDroidUrLookingFor
Downloads
69
First release
Last update
Rating
5.00 star(s) 2 ratings

More resources from TheDroidUrLookingFor

Latest reviews

very much yes.
Works like a charm, only thing to recommend is give your puller a stein or something that does 0 damage in their main hand
Top