diff options
Diffstat (limited to 'data/maps/TrainerTower_Elevator/scripts.inc')
-rw-r--r-- | data/maps/TrainerTower_Elevator/scripts.inc | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/data/maps/TrainerTower_Elevator/scripts.inc b/data/maps/TrainerTower_Elevator/scripts.inc new file mode 100644 index 000000000..349667102 --- /dev/null +++ b/data/maps/TrainerTower_Elevator/scripts.inc @@ -0,0 +1,80 @@ +TrainerTower_Elevator_MapScripts:: @ 8164AF8 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +TrainerTower_Elevator_EventScript_FloorSelect:: @ 8164B03 + lockall + setvar VAR_0x8004, 6 + call_if_unset FLAG_TEMP_2, EventScript_GetElevatorFloor + copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR + special Special_DrawElevatorCurrentFloorWindow + message Text_WantWhichFloor + waitmessage + setvar VAR_0x8004, 6 + specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos + switch VAR_RESULT + case 0, TrainerTower_Elevator_EventScript_FloorSelectFromRoof + case 1, TrainerTower_Elevator_EventScript_FloorSelectFromLobby + end + +TrainerTower_Elevator_EventScript_FloorSelectFromRoof:: @ 8164B46 + multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 0, FALSE + goto TrainerTower_Elevator_EventScript_ChooseFloor + end + +TrainerTower_Elevator_EventScript_FloorSelectFromLobby:: @ 8164B52 + multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 1, FALSE + goto TrainerTower_Elevator_EventScript_ChooseFloor + end + +TrainerTower_Elevator_EventScript_ChooseFloor:: @ 8164B5E + switch VAR_RESULT + case 0, TrainerTower_Elevator_EventScript_SelectRoof + case 1, TrainerTower_Elevator_EventScript_SelectLobby + case 2, TrainerTower_Elevator_EventScript_CloseFloorSelect + case SCR_MENU_CANCEL, TrainerTower_Elevator_EventScript_CloseFloorSelect + end + +TrainerTower_Elevator_EventScript_SelectLobby:: @ 8164B90 + setvar VAR_0x8006, 3 + setdynamicwarp MAP_TRAINER_TOWER_LOBBY, 255, 17, 8 + compare VAR_ELEVATOR_FLOOR, 3 + goto_if_eq TrainerTower_Elevator_EventScript_CloseFloorSelect + call TrainerTower_Elevator_EventScript_MoveElevator + setvar VAR_ELEVATOR_FLOOR, 3 + special Special_CloseElevatorCurrentFloorWindow + delay 25 + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Elevator_Movement_ExitElevator + waitmovement 0 + warp MAP_TRAINER_TOWER_LOBBY, 255, 17, 8 + waitstate + releaseall + end + +TrainerTower_Elevator_EventScript_SelectRoof:: @ 8164BCD + goto TrainerTower_Elevator_EventScript_CloseFloorSelect + end + +TrainerTower_Elevator_EventScript_CloseFloorSelect:: @ 8164BD3 + special Special_CloseElevatorCurrentFloorWindow + releaseall + end + +TrainerTower_Elevator_EventScript_MoveElevator:: @ 8164BD8 + special Special_CloseElevatorCurrentFloorWindow + closemessage + waitse + special Special_AnimateElevator + waitstate + setflag FLAG_TEMP_2 + return + +TrainerTower_Elevator_Movement_ExitElevator:: @ 8164BE5 + walk_in_place_fastest_down + delay_16 + walk_down + walk_right + walk_right + walk_down + step_end |