pokeemerald/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
2023-08-03 15:55:06 -04:00

92 lines
3.8 KiB
PHP

ShoalCave_LowTideEntranceRoom_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideEntranceRoom_OnTransition
.byte 0
ShoalCave_LowTideEntranceRoom_OnTransition:
special UpdateShoalTideFlag
goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide
goto ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide
ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide::
setmaplayoutindex LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM
end
ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide::
setmaplayoutindex LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
end
ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert::
lock
faceplayer
dotimebasedevents
call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems
checkitem ITEM_SHOAL_SALT, 4
goto_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
checkitem ITEM_SHOAL_SHELL, 4
goto_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
msgbox ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell
checkitemspace ITEM_SHELL_BELL
call_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed
goto_if_eq VAR_RESULT, 2, ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell
msgbox ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway, MSGBOX_DEFAULT
removeitem ITEM_SHOAL_SALT, 4
removeitem ITEM_SHOAL_SHELL, 4
giveitem ITEM_SHELL_BELL
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull @ Never FALSE, we already made sure there will be room in the bag.
msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT
setflag FLAG_TEMP_2 @ Not read. Perhaps meant to stop him from re-explaining the Shell Bell if multiple are received in one sitting.
release
end
@ If the bag is full, check if a slot will be freed when 4 Shoal Salt or Shells are given
ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed::
checkitem ITEM_SHOAL_SALT, 5
goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells
return
ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells::
checkitem ITEM_SHOAL_SHELL, 5
goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed
return
ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed::
setvar VAR_RESULT, 2
return
ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell::
msgbox ShoalCave_LowTideEntranceRoom_Text_NoSpaceInYourBag, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells::
checkitem ITEM_SHOAL_SALT
goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
checkitem ITEM_SHOAL_SHELL
goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
msgbox ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell::
msgbox ShoalCave_LowTideEntranceRoom_Text_BringMe4ShoalSaltAndShells, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell::
msgbox ShoalCave_LowTideEntranceRoom_Text_WantedToMakeShellBell, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems::
clearflag FLAG_RECEIVED_SHOAL_SALT_1
clearflag FLAG_RECEIVED_SHOAL_SALT_2
clearflag FLAG_RECEIVED_SHOAL_SALT_3
clearflag FLAG_RECEIVED_SHOAL_SALT_4
clearflag FLAG_RECEIVED_SHOAL_SHELL_1
clearflag FLAG_RECEIVED_SHOAL_SHELL_2
clearflag FLAG_RECEIVED_SHOAL_SHELL_3
clearflag FLAG_RECEIVED_SHOAL_SHELL_4
clearflag FLAG_SYS_SHOAL_ITEM
return