2021-03-16 14:53:42 -07:00
|
|
|
; object constants
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF PLAYER EQU 0
|
|
|
|
DEF LAST_TALKED EQU -2
|
2015-07-09 19:08:03 -07:00
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; string buffer constants
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
2019-03-10 12:31:59 -07:00
|
|
|
const STRING_BUFFER_3 ; use wStringBuffer3
|
|
|
|
const STRING_BUFFER_4 ; use wStringBuffer4
|
|
|
|
const STRING_BUFFER_5 ; use wStringBuffer5
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_STRING_BUFFERS EQU const_value
|
2018-01-11 22:40:20 -08:00
|
|
|
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF STRING_BUFFER_LENGTH EQU 19
|
2020-11-24 17:11:17 -08:00
|
|
|
|
2023-09-02 14:16:35 -07:00
|
|
|
; checkcoins/takecoins accounts
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
2023-09-02 14:16:35 -07:00
|
|
|
const YOUR_COINS ; 0
|
|
|
|
const MOMS_COINS ; 1
|
2018-01-11 22:40:20 -08:00
|
|
|
|
2023-09-02 14:16:35 -07:00
|
|
|
; checkcoins/checkchips return values
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
|
|
|
const HAVE_MORE ; 0
|
|
|
|
const HAVE_AMOUNT ; 1
|
|
|
|
const HAVE_LESS ; 2
|
|
|
|
|
2018-05-06 04:48:04 -07:00
|
|
|
; checkpokemail return values
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
|
|
|
const POKEMAIL_WRONG_MAIL ; 0
|
|
|
|
const POKEMAIL_CORRECT ; 1
|
|
|
|
const POKEMAIL_REFUSED ; 2
|
|
|
|
const POKEMAIL_NO_MAIL ; 3
|
|
|
|
const POKEMAIL_LAST_MON ; 4
|
|
|
|
|
|
|
|
; askforphonenumber return values
|
|
|
|
const_def
|
|
|
|
const PHONE_CONTACT_GOT ; 0
|
|
|
|
const PHONE_CONTACTS_FULL ; 1
|
|
|
|
const PHONE_CONTACT_REFUSED ; 2
|
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; trainertext arguments
|
|
|
|
const_def
|
|
|
|
const TRAINERTEXT_SEEN
|
|
|
|
const TRAINERTEXT_WIN
|
|
|
|
const TRAINERTEXT_LOSS
|
|
|
|
|
|
|
|
; readvar/writevar/loadvar arguments
|
2020-07-22 17:21:26 -07:00
|
|
|
; _GetVarAction.VarActionTable indexes (see engine/overworld/variables.asm)
|
2015-07-09 19:08:03 -07:00
|
|
|
const_def
|
2015-11-16 08:53:26 -08:00
|
|
|
const VAR_STRINGBUFFER2 ; 00
|
|
|
|
const VAR_PARTYCOUNT ; 01
|
|
|
|
const VAR_BATTLERESULT ; 02
|
|
|
|
const VAR_BATTLETYPE ; 03
|
|
|
|
const VAR_TIMEOFDAY ; 04
|
|
|
|
const VAR_DEXCAUGHT ; 05
|
|
|
|
const VAR_DEXSEEN ; 06
|
|
|
|
const VAR_BADGES ; 07
|
|
|
|
const VAR_MOVEMENT ; 08
|
|
|
|
const VAR_FACING ; 09
|
2023-07-27 15:07:07 -07:00
|
|
|
const VAR_WEEKDAY ; 0a
|
|
|
|
const VAR_MAPGROUP ; 0b
|
|
|
|
const VAR_MAPNUMBER ; 0c
|
|
|
|
const VAR_UNOWNCOUNT ; 0d
|
|
|
|
const VAR_ENVIRONMENT ; 0e
|
|
|
|
const VAR_BOXSPACE ; 0f
|
|
|
|
const VAR_CONTESTMINUTES ; 10
|
|
|
|
const VAR_XCOORD ; 11
|
|
|
|
const VAR_YCOORD ; 12
|
|
|
|
const VAR_SPECIALPHONECALL ; 13
|
|
|
|
const VAR_KURT_APRICORNS ; 14
|
|
|
|
const VAR_CALLERID ; 15
|
|
|
|
const VAR_BLUECARDBALANCE ; 16
|
|
|
|
const VAR_BUENASPASSWORD ; 17
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_VARS EQU const_value
|
2015-10-24 07:34:19 -07:00
|
|
|
|
2017-12-08 21:50:59 -08:00
|
|
|
; variable action types
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF RETVAR_STRBUF2 EQU 0 << 6
|
|
|
|
DEF RETVAR_ADDR_DE EQU 1 << 6
|
|
|
|
DEF RETVAR_EXECUTE EQU 2 << 6
|
2015-11-05 12:08:00 -08:00
|
|
|
|
2018-04-01 08:01:51 -07:00
|
|
|
; PlayerEventScriptPointers indexes (see engine/overworld/events.asm)
|
2018-01-31 08:38:45 -08:00
|
|
|
const_def -1
|
2015-11-05 12:08:00 -08:00
|
|
|
const PLAYEREVENT_MAPSCRIPT
|
|
|
|
const PLAYEREVENT_NONE
|
|
|
|
const PLAYEREVENT_SEENBYTRAINER
|
|
|
|
const PLAYEREVENT_TALKTOTRAINER
|
|
|
|
const PLAYEREVENT_ITEMBALL
|
2015-11-11 20:38:57 -08:00
|
|
|
const PLAYEREVENT_CONNECTION
|
2015-11-05 12:08:00 -08:00
|
|
|
const PLAYEREVENT_WARP
|
|
|
|
const PLAYEREVENT_FALL
|
2015-11-11 13:11:08 -08:00
|
|
|
const PLAYEREVENT_WHITEOUT
|
2015-11-05 12:08:00 -08:00
|
|
|
const PLAYEREVENT_HATCH
|
2015-11-11 20:38:57 -08:00
|
|
|
const PLAYEREVENT_JOYCHANGEFACING
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_PLAYER_EVENTS EQU const_value
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2021-03-17 08:38:01 -07:00
|
|
|
; PlayerMovementPointers indexes (see engine/overworld/events.asm)
|
2019-11-03 11:30:33 -08:00
|
|
|
const_def
|
|
|
|
const PLAYERMOVEMENT_NORMAL
|
|
|
|
const PLAYERMOVEMENT_WARP
|
|
|
|
const PLAYERMOVEMENT_TURN
|
|
|
|
const PLAYERMOVEMENT_FORCE_TURN
|
|
|
|
const PLAYERMOVEMENT_FINISH
|
|
|
|
const PLAYERMOVEMENT_CONTINUE
|
|
|
|
const PLAYERMOVEMENT_EXIT_WATER
|
|
|
|
const PLAYERMOVEMENT_JUMP
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_PLAYER_MOVEMENTS EQU const_value
|
2019-11-03 11:30:33 -08:00
|
|
|
|
2019-03-03 11:19:16 -08:00
|
|
|
; script data sizes (see macros/scripts/maps.asm)
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF SCENE_SCRIPT_SIZE EQU 4 ; scene_script
|
|
|
|
DEF CALLBACK_SIZE EQU 3 ; callback
|
|
|
|
DEF WARP_EVENT_SIZE EQU 5 ; warp_event
|
|
|
|
DEF COORD_EVENT_SIZE EQU 8 ; coord_event
|
|
|
|
DEF BG_EVENT_SIZE EQU 5 ; bg_event
|
2023-07-26 17:50:16 -07:00
|
|
|
; An object_event is a map_object without its initial MAPOBJECT_OBJECT_STRUCT_ID or final padding
|
|
|
|
DEF OBJECT_EVENT_SIZE EQU MAPOBJECT_LENGTH - 3 ; 13
|
2019-03-03 11:19:16 -08:00
|
|
|
|
2022-07-29 14:43:10 -07:00
|
|
|
; A coord_event for scene -1 will always activate,
|
|
|
|
; regardless of the map's scene variable value.
|
|
|
|
DEF SCENE_ALWAYS EQU -1
|
|
|
|
|
2018-01-31 18:16:57 -08:00
|
|
|
; bg_event types
|
2021-03-17 08:38:01 -07:00
|
|
|
; BGEventJumptable indexes (see engine/overworld/events.asm)
|
2018-01-10 23:35:46 -08:00
|
|
|
const_def
|
|
|
|
const BGEVENT_READ
|
|
|
|
const BGEVENT_UP
|
|
|
|
const BGEVENT_DOWN
|
|
|
|
const BGEVENT_RIGHT
|
|
|
|
const BGEVENT_LEFT
|
|
|
|
const BGEVENT_IFSET
|
|
|
|
const BGEVENT_IFNOTSET
|
|
|
|
const BGEVENT_ITEM
|
|
|
|
const BGEVENT_COPY
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_BGEVENTS EQU const_value
|
2018-01-10 23:35:46 -08:00
|
|
|
|
|
|
|
; object_event types
|
2021-03-17 08:38:01 -07:00
|
|
|
; ObjectEventTypeArray indexes (see engine/overworld/events.asm)
|
2018-01-10 23:35:46 -08:00
|
|
|
const_def
|
|
|
|
const OBJECTTYPE_SCRIPT
|
|
|
|
const OBJECTTYPE_ITEMBALL
|
|
|
|
const OBJECTTYPE_TRAINER
|
|
|
|
const OBJECTTYPE_3
|
|
|
|
const OBJECTTYPE_4
|
|
|
|
const OBJECTTYPE_5
|
|
|
|
const OBJECTTYPE_6
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_OBJECT_TYPES EQU const_value
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2018-01-22 08:30:17 -08:00
|
|
|
; command queue members
|
2022-09-12 06:15:44 -07:00
|
|
|
rsreset
|
|
|
|
DEF CMDQUEUE_TYPE rb
|
|
|
|
DEF CMDQUEUE_ADDR rb
|
|
|
|
DEF CMDQUEUE_02 rb
|
|
|
|
DEF CMDQUEUE_03 rb
|
|
|
|
DEF CMDQUEUE_04 rb
|
|
|
|
DEF CMDQUEUE_JUMPTABLE_INDEX rb
|
|
|
|
DEF CMDQUEUE_ENTRY_SIZE EQU _RS
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF CMDQUEUE_CAPACITY EQU 4
|
2018-01-22 08:30:17 -08:00
|
|
|
|
2018-07-15 02:58:10 -07:00
|
|
|
; HandleQueuedCommand.Jumptable indexes (see engine/overworld/events.asm)
|
|
|
|
const_def
|
|
|
|
const CMDQUEUE_NULL
|
2020-06-17 19:12:04 -07:00
|
|
|
const CMDQUEUE_TYPE1
|
2018-07-15 02:58:10 -07:00
|
|
|
const CMDQUEUE_STONETABLE
|
|
|
|
const CMDQUEUE_TYPE3
|
|
|
|
const CMDQUEUE_TYPE4
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_CMDQUEUE_TYPES EQU const_value
|
2018-01-22 08:30:17 -08:00
|
|
|
|
|
|
|
; elevfloor macro values
|
2018-01-25 19:22:25 -08:00
|
|
|
; ElevatorFloorNames indexes (see data/events/elevator_floors.asm)
|
2018-01-22 08:30:17 -08:00
|
|
|
const_def
|
|
|
|
const FLOOR_B4F
|
|
|
|
const FLOOR_B3F
|
|
|
|
const FLOOR_B2F
|
|
|
|
const FLOOR_B1F
|
|
|
|
const FLOOR_1F
|
|
|
|
const FLOOR_2F
|
|
|
|
const FLOOR_3F
|
|
|
|
const FLOOR_4F
|
|
|
|
const FLOOR_5F
|
|
|
|
const FLOOR_6F
|
|
|
|
const FLOOR_7F
|
|
|
|
const FLOOR_8F
|
|
|
|
const FLOOR_9F
|
|
|
|
const FLOOR_10F
|
|
|
|
const FLOOR_11F
|
|
|
|
const FLOOR_ROOF
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_FLOORS EQU const_value
|
2018-01-22 08:30:17 -08:00
|
|
|
|
2018-01-11 22:40:20 -08:00
|
|
|
; showemote arguments
|
2018-01-10 23:35:46 -08:00
|
|
|
; Emotes indexes (see data/sprites/emotes.asm)
|
|
|
|
const_def
|
2021-03-17 08:38:01 -07:00
|
|
|
const EMOTE_SHOCK
|
|
|
|
const EMOTE_QUESTION
|
|
|
|
const EMOTE_HAPPY
|
|
|
|
const EMOTE_SAD
|
|
|
|
const EMOTE_HEART
|
|
|
|
const EMOTE_BOLT
|
|
|
|
const EMOTE_SLEEP
|
|
|
|
const EMOTE_FISH
|
|
|
|
const EMOTE_SHADOW
|
|
|
|
const EMOTE_ROD
|
|
|
|
const EMOTE_BOULDER_DUST
|
|
|
|
const EMOTE_GRASS_RUSTLE
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_EMOTES EQU const_value
|
|
|
|
DEF EMOTE_FROM_MEM EQU -1
|
|
|
|
DEF EMOTE_LENGTH EQU 6
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2018-01-11 22:40:20 -08:00
|
|
|
; fruittree arguments
|
2018-01-10 23:35:46 -08:00
|
|
|
; FruitTreeItems indexes (see data/items/fruit_trees.asm)
|
2018-01-31 08:38:45 -08:00
|
|
|
const_def 1
|
2018-01-10 23:35:46 -08:00
|
|
|
const FRUITTREE_ROUTE_29 ; 01
|
|
|
|
const FRUITTREE_ROUTE_30_1 ; 02
|
|
|
|
const FRUITTREE_ROUTE_38 ; 03
|
|
|
|
const FRUITTREE_ROUTE_46_1 ; 04
|
|
|
|
const FRUITTREE_ROUTE_30_2 ; 05
|
|
|
|
const FRUITTREE_ROUTE_33 ; 06
|
|
|
|
const FRUITTREE_ROUTE_31 ; 07
|
|
|
|
const FRUITTREE_ROUTE_43 ; 08
|
|
|
|
const FRUITTREE_VIOLET_CITY ; 09
|
|
|
|
const FRUITTREE_ROUTE_46_2 ; 0a
|
|
|
|
const FRUITTREE_ROUTE_35 ; 0b
|
|
|
|
const FRUITTREE_ROUTE_45 ; 0c
|
|
|
|
const FRUITTREE_ROUTE_36 ; 0d
|
|
|
|
const FRUITTREE_ROUTE_26 ; 0e
|
|
|
|
const FRUITTREE_ROUTE_39 ; 0f
|
|
|
|
const FRUITTREE_ROUTE_44 ; 10
|
|
|
|
const FRUITTREE_ROUTE_37_1 ; 11
|
|
|
|
const FRUITTREE_ROUTE_37_2 ; 12
|
|
|
|
const FRUITTREE_ROUTE_37_3 ; 13
|
|
|
|
const FRUITTREE_AZALEA_TOWN ; 14
|
|
|
|
const FRUITTREE_ROUTE_42_1 ; 15
|
|
|
|
const FRUITTREE_ROUTE_42_2 ; 16
|
|
|
|
const FRUITTREE_ROUTE_42_3 ; 17
|
|
|
|
const FRUITTREE_ROUTE_11 ; 18
|
|
|
|
const FRUITTREE_ROUTE_2 ; 19
|
|
|
|
const FRUITTREE_ROUTE_1 ; 1a
|
|
|
|
const FRUITTREE_ROUTE_8 ; 1b
|
|
|
|
const FRUITTREE_PEWTER_CITY_1 ; 1c
|
|
|
|
const FRUITTREE_PEWTER_CITY_2 ; 1d
|
|
|
|
const FRUITTREE_FUCHSIA_CITY ; 1e
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_FRUIT_TREES EQU const_value - 1
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2018-01-11 22:40:20 -08:00
|
|
|
; describedecoration arguments
|
2018-04-01 08:01:51 -07:00
|
|
|
; DescribeDecoration.JumpTable indexes (see engine/overworld/decorations.asm)
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
|
|
|
const DECODESC_POSTER ; 0
|
|
|
|
const DECODESC_LEFT_DOLL ; 1
|
|
|
|
const DECODESC_RIGHT_DOLL ; 2
|
|
|
|
const DECODESC_BIG_DOLL ; 3
|
|
|
|
const DECODESC_CONSOLE ; 4
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_DECODESCS EQU const_value
|
2018-01-11 22:40:20 -08:00
|
|
|
|
2018-01-22 08:30:17 -08:00
|
|
|
; swarm arguments
|
|
|
|
; StoreSwarmMapIndices arguments
|
2018-01-10 23:35:46 -08:00
|
|
|
const_def
|
2018-01-22 08:30:17 -08:00
|
|
|
const SWARM_DUNSPARCE ; 0
|
|
|
|
const SWARM_YANMA ; 1
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; ActivateFishingSwarm setval arguments
|
2018-01-22 08:30:17 -08:00
|
|
|
const_def
|
|
|
|
const FISHSWARM_NONE ; 0
|
|
|
|
const FISHSWARM_QWILFISH ; 1
|
|
|
|
const FISHSWARM_REMORAID ; 2
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2018-01-11 22:40:20 -08:00
|
|
|
; SpecialGameboyCheck return values
|
|
|
|
const_def
|
|
|
|
const GBCHECK_GB ; 0
|
|
|
|
const GBCHECK_SGB ; 1
|
|
|
|
const GBCHECK_CGB ; 2
|
|
|
|
|
2018-01-24 08:17:05 -08:00
|
|
|
; CheckMagikarpLength return values
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
|
|
|
const MAGIKARPLENGTH_NOT_MAGIKARP ; 0
|
|
|
|
const MAGIKARPLENGTH_REFUSED ; 1
|
|
|
|
const MAGIKARPLENGTH_TOO_SHORT ; 2
|
|
|
|
const MAGIKARPLENGTH_BEAT_RECORD ; 3
|
|
|
|
|
2021-03-17 08:38:01 -07:00
|
|
|
; ReturnShuckie return values
|
2018-01-11 22:40:20 -08:00
|
|
|
const_def
|
|
|
|
const SHUCKIE_WRONG_MON ; 0
|
|
|
|
const SHUCKIE_REFUSED ; 1
|
|
|
|
const SHUCKIE_RETURNED ; 2
|
|
|
|
const SHUCKIE_HAPPY ; 3
|
|
|
|
const SHUCKIE_FAINTED ; 4
|
|
|
|
|
|
|
|
; CheckPartyFullAfterContest return values
|
|
|
|
const_def
|
|
|
|
const BUGCONTEST_CAUGHT_MON ; 0
|
|
|
|
const BUGCONTEST_BOXED_MON ; 1
|
|
|
|
const BUGCONTEST_NO_CATCH ; 2
|
|
|
|
|
2021-03-21 15:14:31 -07:00
|
|
|
; Bug-Catching Contest values
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF BUG_CONTEST_BALLS EQU 20
|
|
|
|
DEF BUG_CONTEST_MINUTES EQU 20
|
|
|
|
DEF BUG_CONTEST_SECONDS EQU 0
|
|
|
|
DEF BUG_CONTEST_PLAYER EQU 1
|
|
|
|
DEF NUM_BUG_CONTESTANTS EQU 10 ; not counting the player
|
|
|
|
DEF BUG_CONTESTANT_SIZE EQU 4
|
2021-03-21 15:14:31 -07:00
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; HealMachineAnim setval arguments
|
2018-01-11 22:40:20 -08:00
|
|
|
; HealMachineAnim.Pointers indexes (see engine/events/heal_machine_anim.asm)
|
|
|
|
const_def
|
|
|
|
const HEALMACHINE_POKECENTER ; 0
|
|
|
|
const HEALMACHINE_ELMS_LAB ; 1
|
|
|
|
const HEALMACHINE_HALL_OF_FAME ; 2
|
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; UnownPuzzle setval arguments
|
2018-04-01 08:01:51 -07:00
|
|
|
; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/games/unown_puzzle.asm)
|
2018-01-10 23:35:46 -08:00
|
|
|
const_def
|
|
|
|
const UNOWNPUZZLE_KABUTO ; 0
|
|
|
|
const UNOWNPUZZLE_OMANYTE ; 1
|
|
|
|
const UNOWNPUZZLE_AERODACTYL ; 2
|
|
|
|
const UNOWNPUZZLE_HO_OH ; 3
|
2022-06-06 14:25:42 -07:00
|
|
|
DEF NUM_UNOWN_PUZZLES EQU const_value
|
2018-01-10 23:35:46 -08:00
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; DisplayUnownWords setval arguments
|
2018-01-25 19:22:25 -08:00
|
|
|
; UnownWalls and MenuHeaders_UnownWalls indexes (see data/events/unown_walls.asm)
|
2018-01-10 23:35:46 -08:00
|
|
|
const_def
|
|
|
|
const UNOWNWORDS_ESCAPE ; 0
|
|
|
|
const UNOWNWORDS_LIGHT ; 1
|
|
|
|
const UNOWNWORDS_WATER ; 2
|
|
|
|
const UNOWNWORDS_HO_OH ; 3
|
2018-01-11 22:40:20 -08:00
|
|
|
|
2019-03-10 12:31:59 -07:00
|
|
|
; MoveTutor setval arguments
|
2018-01-31 08:38:45 -08:00
|
|
|
const_def 1
|
2018-01-11 22:40:20 -08:00
|
|
|
const MOVETUTOR_FLAMETHROWER ; 1
|
|
|
|
const MOVETUTOR_THUNDERBOLT ; 2
|
|
|
|
const MOVETUTOR_ICE_BEAM ; 3
|
2023-09-22 14:12:05 -07:00
|
|
|
|
|
|
|
; board events (tracked by hCurBoardEvent)
|
|
|
|
const_def 1
|
|
|
|
const BOARDEVENT_DISPLAY_MENU ; 1
|
2023-10-14 10:28:35 -07:00
|
|
|
const BOARDEVENT_HANDLE_BOARD ; 2
|
2023-10-14 12:45:48 -07:00
|
|
|
const BOARDEVENT_END_TURN ; 3
|
2023-09-22 14:12:05 -07:00
|
|
|
DEF NUM_BOARD_EVENTS EQU const_value - 1
|
2023-10-21 09:00:59 -07:00
|
|
|
|
|
|
|
; exitoverworld arguments
|
|
|
|
const_def
|
|
|
|
const ABANDONED_LEVEL ; 0
|
|
|
|
const CLEARED_LEVEL ; 1
|