| Thanx 2 Decker for the base code for this!!
| This Macro is custom for Druid or Wizzy
| Bind yourself in front of NPC Brynden Snow (task giver)
| Ensure that you have Gate mem in gem 1 and port to TBS in gem 2 and FoE or lev in gem 3
| *** The PC Check is Memed out by default so if you want to be safer unmem it!
| Use, /alert add 2 <YOUR_NAME> on PC Check
#turbo
#Event Reward "#*#You have successfully been granted your reward for: Mapping Suncrest Ridge#*#"
#Event Reward "#*#You have successfully been granted your reward for: Scouting Monkey Rock#*#"
Sub Main
/declare laps int outer 0
/declare aas float outer 0
/declare aas_hr float outer 0
/declare start_aaexp float outer ${Me.PctAAExp}
/declare start_aas int outer ${Me.AAPointsTotal}
/declare got_reward bool outer false
/moveto 20
:Loop
/call GMCheck
/call GetTask
/call GetTask2
/call GotoTheBuriedSea
/call GMCheck
| ---------------------- /call PCcheck
/call MapIsland
/call GotoBarrenCoast
/call GMCheck
/call FinishTask
/goto :Loop
/return
Sub GMCheck
/if (${Spawn[gm].ID}) {
/beep
/beep
/beep
/echo GM has entered the zone!
/echo time to end the macro!
/keypress forward
/keypress back
/quit
/endmacro
}
/return
Sub GetTask
/look 0
/delay 3s
/call GotoBryndenSnow
/delay 10s
/say obtaining
/delay 5
/reward 1
:Loop_1
/delay 2
/if (!${Window[TaskSelectWnd].Open}) /goto :Loop_1
/notify TaskSelectWnd TaskList leftmouseup
/notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=Mapping Suncrest Ridge]}
/notify TaskSelectWnd AcceptButton leftmouseup
:Loop_2
/delay 3
/if (!${Window[TaskWnd].Open}) /goto :Loop_2
/squelch /windowstate TaskWnd close
/delay 10s
/return
|----------Monkey Island Task----------------------
Sub GetTask2
/look 0
/delay 2s
/call GotoHarold
/delay 2s
/call GotoHunter
/delay 10s
/hail
/delay 3s
/say adventurer
/delay 3s
/say buried sea
/delay 3s
/say island
/delay 3s
/say task
/delay 5s
/reward 1
:Loop_1
/delay 2
/if (!${Window[TaskSelectWnd].Open}) /goto :Loop_1
/notify TaskSelectWnd TaskList leftmouseup
/notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=Scouting Monkey Rock]}
/notify TaskSelectWnd AcceptButton leftmouseup
/call GotoHunter
/delay 2s
/hail
/delay 5s
/reward 1
/delay 2s
/return
Sub PCcheck
:loopstart1
/if (${Spawn[pc noalert 2].ID}) {
/echo Player Nearby!!!
/echo pausing the macro...
/delay 10s
/goto :loopstart1
}
/return
Sub GotoTheBuriedSea
/delay 2s
/look 128
/delay 3s
/cast 3
/delay 10s
:Loop_1
/delay 3s
/cast 2
/delay 10s
/if (${Zone.Name.NotEqual[the buried sea]}) /goto :Loop_1
/return
Sub MapIsland
/delay 4s
/keypress 2
/delay 2s
/keypress 2
/delay 2s
|---------Monkey Island Warps-------------------
|
|---- Westernmost Point
/warp loc -3888 -2416 315
/delay 5s
|---- Northernmost Point
/warp loc -3076 -4294 320
/delay 5s
|---- Central Sunken Head
/warp loc -4258 -3449 355
/delay 5s
|---- Ruins 1
/warp loc -3844 -2544 380
/delay 5s
|---- Ruins 2
/warp loc -3348 -3480 410
/delay 5s
|---- Ruins 3
/warp loc -4135 -4115 405
/delay 5s
|---- Observatory
/warp loc -4655 -3277 524
/delay 5s
|---- Southmost Point
/warp loc -5171 -3052 370
/delay 5s
|---- South Sunken Head
/warp loc -5069 -3019 384
/delay 5s
|---- Easternmost Point
/warp loc -3229 -4447 320
|
|-----------Suncrest Island Warps -------------
|
/warp loc -3229 -4447 320
/delay 5s
/warp loc -1330 -2285 313
/delay 5s
/warp loc -1348 -3671 256
/delay 5s
/warp loc -848 -3202 348
/delay 5s
/warp loc -761 -3040 483
/delay 5s
/return
Sub GotoBarrenCoast
/delay 2s
/look 128
/delay 3s
:Loop_1
/cast 1
/delay 10s
/if (${Zone.Name.NotEqual[barren coast]}) /goto :Loop_1
/return
Sub FinishTask
/look 128
/call GotoBryndenSnow
/hail
/delay 20s
/reward 1
/varcalc aas (((${Me.AAPointsTotal} - ${start_aas}) * 100) + (${Me.PctAAExp} - ${start_aaexp})) / 100
/varcalc aas_hr ${aas} / (${Macro.RunTime} / 3600)
/varcalc laps ${laps} + 1
/echo Laps: ${laps} AA Exp: ${aas} AA Per Hour: ${aas_hr}
/return
|------------Harold-----------------------------
Sub GotoHarold
/target harold
:Loop_1
/delay 10
/if (${Target.CleanName.NotEqual[harold]}) /goto :Loop_1
/face
/squelch /moveto id
:Loop_2
/delay 10
/if (${MoveTo.Moving}) /goto :Loop_2
/return
|------------Brynden Snow-----------------------------
Sub GotoBryndenSnow
/target brynden snow
:Loop_1
/delay 10
/if (${Target.CleanName.NotEqual[brynden snow]}) /goto :Loop_1
/face
/squelch /moveto id
:Loop_2
/delay 10
/if (${MoveTo.Moving}) /goto :Loop_2
/return
|--------------Trophy Hunter Locke---------------------
Sub GotoHunter
/target Trophy Hunter Locke
:Loop_1
/delay 10
/if (${Target.CleanName.NotEqual[Trophy Hunter Locke]}) /goto :Loop_1
/face
/squelch /moveto id
:Loop_2
/delay 10
/if (${MoveTo.Moving}) /goto :Loop_2
/return
}
/return
Sub Event_Reward
/varset got_reward true
/return
Sub MoveTo(int yLoc, int xLoc)
/squelch /moveto loc ${yLoc} ${xLoc}
:MoveToLoop
/delay 1
/if (${MoveTo.Moving}) /goto :MoveToLoop
/squelch /moveto off
/return