pokeemerald/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
2021-07-20 15:18:31 -04:00

130 lines
5.3 KiB
C++

LilycoveCity_DepartmentStoreElevator_MapScripts::
.byte 0
LilycoveCity_DepartmentStoreElevator_EventScript_Attendant::
lock
faceplayer
setvar VAR_0x8004, 0
call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor
copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR
special ShowDeptStoreElevatorFloorSelect
message gText_WhichFloorWouldYouLike
waitmessage
setvar VAR_0x8004, 0
specialvar VAR_RESULT, GetDeptStoreDefaultFloorChoice
switch VAR_RESULT
case 0, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th
case 1, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th
case 2, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd
case 3, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd
case 4, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st
end
@ Below scripts ensure the cursor for floor select always starts on the current floor
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th::
multichoicedefault 0, 0, MULTI_FLOORS, 0, FALSE
goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th::
multichoicedefault 0, 0, MULTI_FLOORS, 1, FALSE
goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd::
multichoicedefault 0, 0, MULTI_FLOORS, 2, FALSE
goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd::
multichoicedefault 0, 0, MULTI_FLOORS, 3, FALSE
goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st::
multichoicedefault 0, 0, MULTI_FLOORS, 4, FALSE
goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor::
switch VAR_RESULT
case 0, LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor
case 1, LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor
case 2, LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor
case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor
case 4, LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor
case 5, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
case MULTI_B_PRESSED, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_1F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_2F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_3F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_4F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_5F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect::
special CloseDeptStoreElevatorWindow
release
end
LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator::
special CloseDeptStoreElevatorWindow
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
waitse
special MoveElevator
waitstate
setflag FLAG_TEMP_2
return
LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor::
special SetDeptStoreFloor
return