:start:
print(Start at catherby fishing spots)
ifamountovergoto(0,375,:fish:)
ifamountovergoto(0,379,:fish1:)
goto(:start:)

:fish1:
modprotect
sleepifover(95)
wait(1000)
atobject2(261)
ifinvfullgoto(:fishtocook1:)
goto(:fish1:)

:fishtocook1:
modprotect
walkto(413,499)
walkto(419,496)
walkto(425,495)
walkto(431,491)
walkto(435,486)
walkto(432,482)
wait(200)
goto(:cook1:)

:cook1:
modprotect
sleepifover(95)
wait(300)
useonobject(545,11)
wait(1000)
ifamountovergoto(0,547,:drop1:)
ifamountundergoto(1,545,:rangetobank1:)
goto(:cook1:)

:drop1:
modprotect
dropitem(547)
wait(1000)
ifamountundergoto(1,547,:cook1:)
goto(:drop1:)

:rangetobank1:
modprotect
walkto(435,485)
walkto(436,490)
walkto(436,497)
walkto(439,497)
goto(:talk1:)

:talk1:
modprotect
talkto(95)
waitforbankwindow(1000)
goto(:bank1:)

:bank1:
modprotect
depositall(546)
wait(700)
ifamountundergoto(1,546,:banktofish1:)
goto(:bank1:)

:banktofish1:
modprotect
walkto(439,496)
wait(300)
walkto(437,498)
walkto(428,497)
walkto(421,497)
walkto(415,499)
walkto(406,504)
wait(300)
goto(:fish1:)

:fish:
modprotect
sleepifover(95)
wait(1000)
atobject2(194)
ifinvfullgoto(:fishtocook:)
goto(:fish:)

:fishtocook:
modprotect
walkto(413,499)
walkto(419,496)
walkto(425,495)
walkto(431,491)
walkto(435,486)
wait(300)
wait(300)
walkto(432,482)
wait(200)
goto(:cook:)

:cook:
modprotect
sleepifover(95)
wait(300)
useonobject(372,11)
wait(1000)
ifamountovergoto(0,374,:drop:)
ifamountundergoto(1,372,:rangetobank:)
goto(:cook:)

:drop:
modprotect
dropitem(374)
wait(1000)
ifamountundergoto(1,374,:cook:)
goto(:drop:)

:rangetobank:
modprotect
walkto(435,485)
wait(300)
wait(300)
walkto(436,490)
walkto(436,497)
walkto(439,497)
goto(:talk:)

:talk:
modprotect
talkto(95)
waitforbankwindow(1000)
goto(:bank:)

:bank:
modprotect
depositall(373)
wait(700)
ifamountundergoto(1,373,:banktofish:)
goto(:bank:)

:banktofish:
modprotect
walkto(439,496)
wait(300)
walkto(437,498)
walkto(428,497)
walkto(421,497)
walkto(415,499)
walkto(409,503)
wait(300)
goto(:fish:)

:fish:
modprotect
sleepifover(95)
wait(1000)
atobject2(194)
ifinvfullgoto(:fishtocook:)
goto(:fish:)

:fishtocook:
modprotect
walkto(413,499)
walkto(419,496)
walkto(425,495)
walkto(431,491)
walkto(435,486)
wait(300)
wait(300)
walkto(432,482)
wait(200)
goto(:cook:)

:cook:
modprotect
sleepifover(95)
wait(300)
useonobject(372,11)
wait(1000)
ifamountovergoto(0,374,:drop:)
ifamountundergoto(1,372,:rangetobank:)
goto(:cook:)

:drop:
modprotect
dropitem(374)
wait(1000)
ifamountundergoto(1,374,:cook:)
goto(:drop:)

:rangetobank:
modprotect
walkto(435,485)
wait(300)
wait(300)
walkto(436,490)
walkto(436,497)
walkto(439,497)
goto(:talk:)

:talk:
modprotect
talkto(95)
waitforbankwindow(1000)
goto(:bank:)

:bank:
modprotect
depositall(373)
wait(700)
ifamountundergoto(1,373,:banktofish:)
goto(:bank:)

:banktofish:
modprotect
walkto(439,496)
wait(300)
walkto(437,498)
walkto(428,497)
walkto(421,497)
walkto(415,499)
walkto(409,503)
wait(300)
goto(:fish:)