.equ FOUND_FIRST_SWITCH, FLAG_TEMP_1 .equ SWITCH1_ID, VAR_0x8004 .equ SWITCH2_ID, VAR_0x8005 .equ TRASH_CAN_ID, VAR_0x8008 VermilionCity_Gym_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, VermilionCity_Gym_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, VermilionCity_Gym_OnTransition .byte 0 VermilionCity_Gym_OnLoad:: call_if_set FOUND_FIRST_SWITCH, VermilionCity_Gym_EventScript_SetOneBeamOff call_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, VermilionCity_Gym_EventScript_SetBeamsOff end VermilionCity_Gym_EventScript_SetOneBeamOff:: setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_HalfOn, 1 setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_HalfOn, 1 setmetatile 5, 6, METATILE_VermilionGym_Beam_MidTop_HalfOn, 1 setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_HalfOn, 1 setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_HalfOn, 1 setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_HalfOn, 1 setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_HalfOn, 1 setmetatile 5, 7, METATILE_VermilionGym_Beam_MidBottom_HalfOn, 1 setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn, 1 setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn, 1 return VermilionCity_Gym_EventScript_SetBeamsOff:: setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Off, 1 setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_Off, 0 setmetatile 5, 6, METATILE_VermilionGym_Floor, 0 setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_Off, 0 setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_Off, 1 setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Off, 1 setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_Off, 0 setmetatile 5, 7, METATILE_VermilionGym_Floor, 0 setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_Off, 0 setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Off, 1 return VermilionCity_Gym_OnTransition:: call VermilionCity_Gym_EventScript_InitTrashCans end VermilionCity_Gym_EventScript_InitTrashCans:: goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, EventScript_Return special SetVermilionTrashCans copyvar VAR_TEMP_0, SWITCH1_ID copyvar VAR_TEMP_1, SWITCH2_ID return VermilionCity_Gym_EventScript_TrashCan1:: lockall setvar TRASH_CAN_ID, 1 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan2:: lockall setvar TRASH_CAN_ID, 2 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan3:: lockall setvar TRASH_CAN_ID, 3 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan4:: lockall setvar TRASH_CAN_ID, 4 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan5:: lockall setvar TRASH_CAN_ID, 5 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan6:: lockall setvar TRASH_CAN_ID, 6 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan7:: lockall setvar TRASH_CAN_ID, 7 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan8:: lockall setvar TRASH_CAN_ID, 8 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan9:: lockall setvar TRASH_CAN_ID, 9 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan10:: lockall setvar TRASH_CAN_ID, 10 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan11:: lockall setvar TRASH_CAN_ID, 11 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan12:: lockall setvar TRASH_CAN_ID, 12 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan13:: lockall setvar TRASH_CAN_ID, 13 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan14:: lockall setvar TRASH_CAN_ID, 14 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan15:: lockall setvar TRASH_CAN_ID, 15 goto VermilionCity_Gym_EventScript_TrashCan end VermilionCity_Gym_EventScript_TrashCan:: goto_if_questlog EventScript_ReleaseEnd special QuestLog_CutRecording copyvar SWITCH1_ID, VAR_TEMP_0 copyvar SWITCH2_ID, VAR_TEMP_1 goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, VermilionCity_Gym_EventScript_LocksAlreadyOpen goto_if_set FOUND_FIRST_SWITCH, VermilionCity_Gym_EventScript_TrySwitchTwo goto_if_eq SWITCH1_ID, TRASH_CAN_ID, VermilionCity_Gym_EventScript_FoundSwitchOne msgbox VermilionCity_Gym_Text_NopeOnlyTrashHere releaseall end VermilionCity_Gym_EventScript_FoundSwitchOne:: msgbox VermilionCity_Gym_Text_SwitchUnderTrashFirstLockOpened playse SE_PIN waitse call VermilionCity_Gym_EventScript_SetOneBeamOff special DrawWholeMapView setflag FOUND_FIRST_SWITCH releaseall end VermilionCity_Gym_EventScript_TrySwitchTwo:: goto_if_eq SWITCH2_ID, TRASH_CAN_ID, VermilionCity_Gym_EventScript_FoundSwitchTwo msgbox VermilionCity_Gym_Text_OnlyTrashLocksWereReset clearflag FOUND_FIRST_SWITCH special SetVermilionTrashCans copyvar VAR_TEMP_0, SWITCH1_ID copyvar VAR_TEMP_1, SWITCH2_ID call VermilionCity_Gym_EventScript_SetBeamsOn special DrawWholeMapView releaseall end VermilionCity_Gym_EventScript_FoundSwitchTwo:: msgbox VermilionCity_Gym_Text_SecondLockOpened closemessage call VermilionCity_Gym_EventScript_SetBeamsOff special DrawWholeMapView playse SE_UNLOCK waitse setflag FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES releaseall end VermilionCity_Gym_EventScript_LocksAlreadyOpen:: msgbox VermilionCity_Gym_Text_NopeOnlyTrashHere releaseall end VermilionCity_Gym_EventScript_SetBeamsOn:: setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_On, 1 setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_On, 1 setmetatile 5, 6, METATILE_VermilionGym_Beam_MidTop, 1 setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_On, 1 setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_On, 1 setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_On, 1 setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_On, 1 setmetatile 5, 7, METATILE_VermilionGym_Beam_MidBottom, 1 setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_On, 1 setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_On, 1 return VermilionCity_Gym_EventScript_LtSurge:: famechecker FAMECHECKER_LTSURGE, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 trainerbattle_single TRAINER_LEADER_LT_SURGE, VermilionCity_Gym_Text_LtSurgeIntro, VermilionCity_Gym_Text_LtSurgeDefeat, VermilionCity_Gym_EventScript_DefeatedLtSurge, NO_MUSIC goto_if_unset FLAG_GOT_TM34_FROM_SURGE, VermilionCity_Gym_EventScript_GiveTM34 msgbox VermilionCity_Gym_Text_LtSurgePostBattle release end VermilionCity_Gym_EventScript_DefeatedLtSurge:: famechecker FAMECHECKER_LTSURGE, 1 call_if_unset FLAG_GOT_HM05, VermilionCity_Gym_EventScript_ShowOaksAide clearflag FLAG_HIDE_FAME_CHECKER_LT_SURGE_JOURNAL setflag FLAG_DEFEATED_LT_SURGE setflag FLAG_BADGE03_GET set_gym_trainers 3 goto VermilionCity_Gym_EventScript_GiveTM34 end VermilionCity_Gym_EventScript_ShowOaksAide:: clearflag FLAG_HIDE_VERMILION_CITY_OAKS_AIDE return VermilionCity_Gym_EventScript_GiveTM34:: msgbox VermilionCity_Gym_Text_ExplainThunderBadgeTakeThis checkitemspace ITEM_TM34 goto_if_eq VAR_RESULT, FALSE, VermilionCity_Gym_EventScript_NoRoomForTM34 giveitem_msg VermilionCity_Gym_Text_ReceivedTM34FromLtSurge, ITEM_TM34 setflag FLAG_GOT_TM34_FROM_SURGE msgbox VermilionCity_Gym_Text_ExplainTM34 release end VermilionCity_Gym_EventScript_NoRoomForTM34:: msgbox VermilionCity_Gym_Text_MakeRoomInYourBag release end VermilionCity_Gym_EventScript_Dwayne:: trainerbattle_single TRAINER_SAILOR_DWAYNE, VermilionCity_Gym_Text_DwayneIntro, VermilionCity_Gym_Text_DwayneDefeat famechecker FAMECHECKER_LTSURGE, 4 msgbox VermilionCity_Gym_Text_DwaynePostBattle, MSGBOX_AUTOCLOSE end VermilionCity_Gym_EventScript_Baily:: trainerbattle_single TRAINER_ENGINEER_BAILY, VermilionCity_Gym_Text_BailyIntro, VermilionCity_Gym_Text_BailyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, VermilionCity_Gym_EventScript_BailyRematch msgbox VermilionCity_Gym_Text_BailyPostBattle, MSGBOX_AUTOCLOSE end VermilionCity_Gym_EventScript_BailyRematch:: trainerbattle_rematch TRAINER_ENGINEER_BAILY, VermilionCity_Gym_Text_BailyIntro, VermilionCity_Gym_Text_BailyDefeat msgbox VermilionCity_Gym_Text_BailyPostBattle, MSGBOX_AUTOCLOSE end VermilionCity_Gym_EventScript_Tucker:: trainerbattle_single TRAINER_GENTLEMAN_TUCKER, VermilionCity_Gym_Text_TuckerIntro, VermilionCity_Gym_Text_TuckerDefeat, VermilionCity_Gym_EventScript_DefeatedTucker famechecker FAMECHECKER_LTSURGE, 3 msgbox VermilionCity_Gym_Text_TuckerPostBattle, MSGBOX_AUTOCLOSE end VermilionCity_Gym_EventScript_DefeatedTucker:: famechecker FAMECHECKER_LTSURGE, 2 release end VermilionCity_Gym_EventScript_GymGuy:: lock faceplayer goto_if_set FLAG_DEFEATED_LT_SURGE, VermilionCity_Gym_EventScript_GymGuyPostVictory msgbox VermilionCity_Gym_Text_GymGuyAdvice release end VermilionCity_Gym_EventScript_GymGuyPostVictory:: msgbox VermilionCity_Gym_Text_GymGuyPostVictory release end VermilionCity_Gym_EventScript_GymStatue:: lockall goto_if_set FLAG_BADGE03_GET, VermilionCity_Gym_EventScript_GymStatuePostVictory msgbox VermilionCity_Gym_Text_GymStatue releaseall end VermilionCity_Gym_EventScript_GymStatuePostVictory:: msgbox VermilionCity_Gym_Text_GymStatuePlayerWon releaseall end