- Joined
- Dec 10, 2016
- RedCents
- 3,125¢
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:
- 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
Special Thanks: dannuic's Hatching a Plan Instance Flipping
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
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
Last edited:



