@ Gabby and Ty always move to the same spots for the first 5 battles
@ From the 6th battle onwards, they move randomly between locations 6-8
@ Note: The local IDs of Gabby and Ty are hard-coded in GetGabbyAndTyLocalIds
GabbyAndTy_EventScript_UpdateLocation::
	cleartrainerflag TRAINER_GABBY_AND_TY_6
	specialvar VAR_RESULT, GabbyAndTyGetBattleNum
	switch VAR_RESULT
	case 0, GabbyAndTy_EventScript_MoveForBattle1
	case 1, GabbyAndTy_EventScript_MoveForBattle2
	case 2, GabbyAndTy_EventScript_MoveForBattle3
	case 3, GabbyAndTy_EventScript_MoveForBattle4
	case 4, GabbyAndTy_EventScript_MoveForBattle5
	case 5, GabbyAndTy_EventScript_MoveForBattle6
	case 6, GabbyAndTy_EventScript_MoveForBattle7
	case 7, GabbyAndTy_EventScript_MoveForBattle8
	case 8, GabbyAndTy_EventScript_MoveForBattle9
	end

GabbyAndTy_EventScript_MoveForBattle1::
	call GabbyAndTy_EventScript_ShowAtRoute111_1
	return

GabbyAndTy_EventScript_MoveForBattle2::
	call GabbyAndTy_EventScript_ShowAtRoute118_1
	call GabbyAndTy_EventScript_HideAtRoute111_1
	return

GabbyAndTy_EventScript_MoveForBattle3::
	call GabbyAndTy_EventScript_ShowAtRoute120_1
	call GabbyAndTy_EventScript_HideAtRoute118_1
	return

GabbyAndTy_EventScript_MoveForBattle4::
	call GabbyAndTy_EventScript_ShowAtRoute111_3
	call GabbyAndTy_EventScript_HideAtRoute120_1
	return

GabbyAndTy_EventScript_MoveForBattle5::
	call GabbyAndTy_EventScript_ShowAtRoute118_2
	call GabbyAndTy_EventScript_HideAtRoute111_3
	return

GabbyAndTy_EventScript_MoveForBattle6::
	call GabbyAndTy_EventScript_ShowAtRoute120_2
	call GabbyAndTy_EventScript_HideAtRoute118_2
	return

GabbyAndTy_EventScript_MoveForBattle7::
	call GabbyAndTy_EventScript_ShowAtRoute111_2
	call GabbyAndTy_EventScript_HideAtRoute120_2
	return

GabbyAndTy_EventScript_MoveForBattle8::
	call GabbyAndTy_EventScript_ShowAtRoute118_3
	call GabbyAndTy_EventScript_HideAtRoute111_2
	return

GabbyAndTy_EventScript_MoveForBattle9::
	call GabbyAndTy_EventScript_ShowAtRoute120_2
	call GabbyAndTy_EventScript_HideAtRoute118_3
	return

GabbyAndTy_EventScript_HideAtRoute111_1::
	setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_ShowAtRoute111_1::
	clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_HideAtRoute118_1::
	setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_ShowAtRoute118_1::
	clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_HideAtRoute120_1::
	setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_ShowAtRoute120_1::
	clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
	return

GabbyAndTy_EventScript_HideAtRoute111_3::
	setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
	return

GabbyAndTy_EventScript_ShowAtRoute111_3::
	clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
	return

GabbyAndTy_EventScript_HideAtRoute118_2::
	setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_ShowAtRoute118_2::
	clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_HideAtRoute120_2::
	setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_ShowAtRoute120_2::
	clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_HideAtRoute111_2::
	setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_ShowAtRoute111_2::
	clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
	return

GabbyAndTy_EventScript_HideAtRoute118_3::
	setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
	return

GabbyAndTy_EventScript_ShowAtRoute118_3::
	clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
	return

GabbyAndTy_EventScript_GabbyBattle1::
	trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_GabbyPreFirstBattle, GabbyAndTy_Text_GabbyDefeatFirstTime, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle1::
	trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_TyPreFirstBattle, GabbyAndTy_Text_TyDefeatFirstTime, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_GabbyBattle2::
	trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle2::
	trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_GabbyBattle3::
	trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle3::
	trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_GabbyBattle4::
	trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle4::
	trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_GabbyBattle5::
	trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle5::
	trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_GabbyBattle6::
	trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_TyBattle6::
	trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
	msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
	release
	end

GabbyAndTy_EventScript_FirstInterview::
	special GabbyAndTyBeforeInterview
	special GetGabbyAndTyLocalIds
	compare VAR_FACING, DIR_NORTH
	call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
	compare VAR_FACING, DIR_SOUTH
	call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
	compare VAR_FACING, DIR_EAST
	call_if_eq GabbyAndTy_EventScript_FacePlayerEast
	goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
	msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_FacePlayerNorth::
	applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceDown
	waitmovement 0
	return

GabbyAndTy_EventScript_FacePlayerSouth::
	applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceUp
	applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestUp
	waitmovement 0
	return

GabbyAndTy_EventScript_FacePlayerEast::
	applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceLeft
	applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft
	waitmovement 0
	return

GabbyAndTy_EventScript_RequestInterview::
	special GabbyAndTyBeforeInterview
	special GetGabbyAndTyLocalIds
	compare VAR_FACING, DIR_NORTH
	call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
	compare VAR_FACING, DIR_SOUTH
	call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
	compare VAR_FACING, DIR_EAST
	call_if_eq GabbyAndTy_EventScript_FacePlayerEast
	goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
	specialvar VAR_RESULT, GabbyAndTyGetLastQuote
	compare VAR_RESULT, 0
	goto_if_eq GabbyAndTy_EventScript_DidntInterviewLastTime
	msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT
	specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
	switch VAR_RESULT
	case 0, GabbyAndTy_EventScript_RequestInterviewNoTrivia
	case 1, GabbyAndTy_EventScript_RequestInterviewShortBattle
	case 2, GabbyAndTy_EventScript_RequestInterviewThrewBall
	case 3, GabbyAndTy_EventScript_RequestInterviewUsedItems
	case 4, GabbyAndTy_EventScript_RequestInterviewLostAMon
	end

GabbyAndTy_Movement_WalkInPlaceDown:
	walk_in_place_down
	step_end

GabbyAndTy_Movement_WalkInPlaceUp:
	walk_in_place_up
	step_end

GabbyAndTy_Movement_WalkInPlaceLeft:
	walk_in_place_left
	step_end

GabbyAndTy_EventScript_DidntInterviewLastTime::
	msgbox GabbyAndTy_Text_GiveUsAnInterviewThisTime, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_RequestInterviewNoTrivia::
	msgbox GabbyAndTy_Text_InterviewAgain, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_RequestInterviewShortBattle::
	msgbox GabbyAndTy_Text_YouStompedUsInterviewAgain, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_RequestInterviewThrewBall::
	msgbox GabbyAndTy_Text_YouThrewABallAtUsInterviewAgain, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_RequestInterviewUsedItems::
	msgbox GabbyAndTy_Text_CleverItemSkillsInterviewAgain, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_RequestInterviewLostAMon::
	msgbox GabbyAndTy_Text_WeLookedRespectableInterviewAgain, MSGBOX_YESNO
	goto GabbyAndTy_EventScript_Interview
	end

GabbyAndTy_EventScript_Interview::
	compare VAR_RESULT, NO
	goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
	msgbox GabbyAndTy_Text_DescribeYourFeelings, MSGBOX_DEFAULT
	setvar VAR_0x8004, EASY_CHAT_TYPE_GABBY_AND_TY
	call Common_ShowEasyChatScreen
	lock
	faceplayer
	compare VAR_RESULT, 0
	goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
	msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT
	special GabbyAndTyAfterInterview
	setflag FLAG_TEMP_1
	release
	end

GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut::
	msgbox GabbyAndTy_Text_DontGiveUpKeepingEyeOut, MSGBOX_DEFAULT
	setflag FLAG_TEMP_1
	release
	end

GabbyAndTy_EventScript_KeepingAnEyeOutForYou::
	msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
	release
	end