Sub Declares
/declare Setup True
/declare Pull outer FALSE
/declare Room int outer 0
/declare PullCheck outer FALSE
/declare PullCheckRoom int outer 0
/declare PullCheckSubRoom int outer 0
/declare PullCheckDone outer FALSE
/declare Named outer FALSE
/varset MacroDone FALSE
/return
Sub Script
/if (${Setup}) /call Setup
/if (${Pull} && ${Room}==1) /call PullRoom1
/if (!${Pull} && ${Room}==2) /call Room2
/if (${Pull} && ${Room}==2) /call PullRoom2
/if (!${Pull} && ${Room}==3) /call Room3
/if (${Pull} && ${Room}==3) /call PullRoom3
/if (!${Pull} && ${Room}==4) /call Room4
/if (${Pull} && ${Room}==4) /call PullRoom4
/if (!${Pull} && ${Room}==5) /call Room5
/if (${Pull} && ${Room}==5) /call PullRoom5
/if (!${Pull} && ${Room}==5) /call Room5
/if (${Pull} && ${Room}==5) /call PullRoom5
/if (${Pull} && ${Room}==6 && ${PullCheck}) /call PullCheckSub
/if (${Pull} && ${Room}==6 && !${PullCheck} && ${Named}) /call Named
/call Hail
/return
Sub MoveToFirstPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID}==${Spawn[SHAMANNAME pc].ID} || ${ Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -697,817
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -704.74,817
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -723.58 ,817
/return
Sub MoveToSecondPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID}==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -698,631
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${ Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -688,636
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -697,659
/return
Sub MoveToThirdPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID }==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -868.64,631
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -854.7,629
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -842,640
/return
Sub MoveToFourthPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID}==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -868.64,631
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${ Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -854.7,629
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -842,640
/return
Sub MoveToFifthPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID }==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -711,580
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -707,588
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -748,588
/return
Sub MoveToSixthPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID}==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -638,738
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${ Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -648,719
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -646,755
/return
Sub MoveToLastPullRoom
/if (${Me.ID}==${Spawn[CLERICNAME pc].ID} || ${Me.ID }==${Spawn[SHAMANNAME pc].ID} || ${Me.ID}==${Spawn[MAGENAME pc].ID} ) /call MoveTo -688,809
/if (${Me.ID}==${Spawn[TANKNAME pc].ID} || ${Me.ID}==${Spawn[MYNAME pc].ID} ) /call MoveTo -683,786
/if (${Me.ID}==${Spawn[RANGERNAME pc].ID} ) /call MoveTo -674,808
/return
Sub Hail
/varset Next False
/target clear
/delay 5
/target npc akarahotuten
/delay 2s ${Target.ID}
/hail
/delay 5
/target clear
/return
Sub MoveTo(MoveToLoc)
:moveloop
/if (${Me.State.Equal[sit]}) /stand
/face fast nolook loc ${MoveToLoc}
/if (${Math.Distance[${MoveToLoc}]}>2) /nomodkey /keypress forward hold
/if (${Math.Distance[${MoveToLoc}]}<=2) {
/if (${Pull} || ${SpawnCount[pc radius 50]}==6) {
/nomodkey /keypress forward
/return
}
}
/goto :moveloop
/return
Sub Pull1room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${ Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull2room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull3room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull4room1
/squelch /target clear
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull5room1
/squelch /target clear
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull6room1
/squelch /target clear
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return
Sub Pull1room2
/squelch /target clear
/call MoveTo 641.71 ,-772.42
/call MoveTo 641.11,-770.90
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 641.71,-772.42
/call MoveToSecondPullRoom
/return
Sub Pull2room2
/squelch /target clear
/call MoveTo 638,-797
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToSecondPullRoom
/return
Sub Pull1room3
/squelch /target clear
/call MoveTo 725,-859
/call MoveTo 725,-834
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 725,-859
/call MoveToThirdPullRoom
/return
/call Pull2room3
/squelch /target clear
/call MoveTo 725,-859
/call MoveTo 727,-881
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 725,-859
/call MoveToThirdPullRoom
/return
Sub Pull1room4
/squelch /target clear
/target npc radius 125 zradius 20
/delay 1s ${Target.ID}
/if (${Target.ID}) {
/alt activate 652
/varset repeat True
} else {
/varset repeat False
}
/return
Sub Pull1room5
/squelch /target clear
/call MoveTo 590,-648
/target npc radius 100 zradius 20
/delay 1s ${Target.ID}
/if (${Target.ID}) {
/alt activate 652
/varset repeat True
} else {
/varset repeat False
}
/call MoveToFifthPullRoom
/return
Sub PullCheck1
/if (${Target.Type.Equal[pc]}) /target clear
/call MoveTo 794,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call MoveToLastPullRoom
/return
Sub PullCheck2
/call MoveTo 718,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck1
/return
Sub PullCheck3
/call MoveTo 714,-526
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck2
/return
Sub PullCheck3-1
/call MoveTo 714,-526
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck2
/return
Sub PullCheck3-2
/call MoveTo 793,-520
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck3-1
/return
Sub PullCheck4
/call MoveTo 571,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID }) /alt activate 652
/call PullCheck3
/return
Sub PullCheck5
/call MoveTo 645,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck4
/return
Sub PullCheck5-1
/call MoveTo 647,-680
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/alt activate 652
/call PullCheck5
/return
Sub PullCheck6
/call MoveTo 647,-752
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck5
/return
Sub PullCheck7
/call MoveTo 647,-754
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck6
/return
Sub PullCheck8
/call MoveTo 573,-832
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID }) /alt activate 652
/call PullCheck7
/return
Sub PullCheck9
/call MoveTo 573,-977
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck8
/return
Sub PullCheck10
/call MoveTo 715,-913
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck9
/return
Sub PullCheck11
/call MoveTo 715,-843
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck10
/return
Sub PullCheck12
/call MoveTo 793,-843
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck11
/return
Sub Emperor
/target npc emperor
/delay 5 ${Target.ID}
/varset EmperorID ${Target.ID}
/alt activate 652
/return
Sub PullNamed1
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return
Sub PullNamed2
/call MoveTo 794,-602
/call MoveTo 571,-602
/call MoveTo 571,-526
/call MoveTo 573,-526
/call MoveTo 501,-520
/call MoveTo 491,-535
/call Emperor
/call MoveTo 501,-520
/call MoveTo 573,-526
/call MoveTo 571,-526
/call MoveTo 571,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return
Sub PullNamed3
/call MoveTo 794,-602
/call MoveTo 643,-602
/call MoveTo 644,-757
/call MoveTo 571,-757
/call MoveTo 573,-835
/call Emperor
/call MoveTo 571,-757
/call MoveTo 644,-757
/call MoveTo 643,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return
Sub PullNamed4
/call MoveTo 794,-602
/call MoveTo 643,-602
/call MoveTo 644,-757
/call MoveTo 571,-757
/call MoveTo 571,-916
/call MoveTo 718,-916
/call MoveTo 720,-843
/call MoveTo 795,-839
/call Emperor
/call MoveTo 720,-843
/call MoveTo 718,-916
/call MoveTo 571,-916
/call MoveTo 571,-757
/call MoveTo 644,-757
/call MoveTo 643,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return
Sub Setup
/varset MacroDone FALSE
/call Hail
/call MoveTo -702,697
/call MoveTo -805,697.5
/call MoveTo -806,805
/call MoveToFirstPullRoom
/varset Setup FALSE
/return
Sub PullRoom1
/call Pull1room1 -696.69,759.37
/call Pull2room1 -696.69,759.37
/call Pull3room1 -696.69,759.37
/call Pull4room1 -698.10,696.46
/call Pull5room1 -698.10 ,696.46
/call Pull6room1 -698.10,696.46
/varset Room 2
/varset Pull FALSE
/return
Sub Room2
/call MoveTo -697,789
/call MoveTo -697,659
/call MoveToSecondPullRoom
/varset Pull TRUE
/return
Sub PullRoom2
/call Pull1room2 -772.42,641.71 to -770.90,641.11 back to -772 then to TANKNAME
/call Pull2room2 -797,638 back to TANKNAME
/varset Room 3
/varset Pull FALSE
/return
Sub Room3
/call MoveTo -701,639
/call MoveTo -842,640
/call MoveToThirdPullRoom
/varset Pull TRUE
/return
Sub PullRoom3
/call Pull1room3 -859,725 -> -834,725
/call Pull2room3 -859,725 -> -881,727
/varset Room 4
/varset Pull FALSE
/return
Sub Room4
/call MoveTo -857,655
/call MoveTo -858,808
/call MoveTo -750,809
/call MoveTo -750,728
/call MoveToFourthPullRoom
/varset Pull TRUE
/return
Sub PullRoom4
/call Pull1room4 (repeat until no mobs in LoS ) radius 125
/varset Room 5
/varset Pull False
/return
Sub Room5
/call MoveTo -805,697
/call MoveTo -804,590
/call MoveTo -726,590
/call MoveToFifthPullRoom
/varset Pull TRUE
/return
Sub PullRoom5
/call Pull1room5 -648,590 (repeat till no mobs in Los ) radius 100
/varset Room 6
/varset Pull FALSE
/return
Sub Room6
/call MoveTo -649,591
/call MoveToSixthPullRoom
/call MoveTo -649,591
/call MoveTo -645,824
/call MoveTo -574,826
/call MoveTo -570,900
/call MoveTo -679,901
/call MoveTo -682,794
/call MoveToLastPullRoom
/varset Pull TRUE
/return
Sub PullCheckSub
/if (${PullCheckRoom1} && ${PullCheck} && !${PullCheckDone}) /call PullCheck1 -602,794
/if (${PullCheckRoom2} && ${PullCheck} && !${PullCheckDone}) /call PullCheck2 -602,718
/if (${PullCheckRoom3} && ${PullCheck} && !${PullCheckDone}) /call PullCheck3 -602,718 -> -526,714 (mob spawns next to it, need to check again)
/if (${PullCheckRoom4} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==1) /call PullCheck3-1 -602,718 -> -526,714
/if (${PullCheckRoom5} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==2) /call PullCheck3-2 -602,718 -> -526,714 -> -520,793
/if (${PullCheckRoom6} && ${PullCheck} && !${PullCheckDone}) /call PullCheck4 -602,571
/if (${PullCheckRoom7} && ${PullCheck} && !${PullCheckDone}) /call PullCheck5 -602,645
/if (${PullCheckRoom8} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==3) /call PullCheck5-1 -602,645 -> -680,647
/if (${PullCheckRoom9} && ${PullCheck} && !${PullCheckDone}) /call PullCheck6 -602,645 -> -752,647
/if (${PullCheckRoom10} && ${PullCheck} && !${PullCheckDone}) /call PullCheck7 -602,645 -> -752,647 -> -754,573
/if (${PullCheckRoom11} && ${PullCheck} && !${PullCheckDone}) /call PullCheck8 -602,645 -> -752,647 -> -754,573 -> -832,573
/if (${PullCheckRoom12} && ${PullCheck} && !${PullCheckDone}) /call PullCheck9 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573
/if (${PullCheckRoom13} && ${PullCheck} && !${PullCheckDone}) /call PullCheck10 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715
/if (${PullCheckRoom14} && ${PullCheck} && !${PullCheckDone}) /call PullCheck11 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715 -> -843,715
/if (${PullCheckRoom1} && ${PullCheck} && !${PullCheckDone}) /call PullCheck12 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715 -> -843,715 -> -843,793
/varset PullCheckDone TRUE
/varset Named TRUE
/varset PullCheck FALSE
/return
Sub Named
/call PullNamed1 -602,794
/call PullNamed2 -602,794 -> -602, 571, -526,571-> -526,573 -> -520,501 -> -535,491
/call PullNamed3 -602,794 -> -602,643 -> -757,644 -> -757,571 -> -835,573
/call PullNamed4 -602,794 -> -602,643 -> -757,644 -> -757,571 -> -916,571 -> -916,718 -> -843,720 -> -839,795
/varset MacroDone TRUE
/return
Sub ResetMacro
/varset Setup True
/varset Pull FALSE
/varset Room 0
/varset PullCheck FALSE
/varset PullCheckRoom 0
/varset PullCheckSubRoom 0
/varset PullCheckDone FALSE
/varset Named FALSE
/return