shithub: pokecrystal

Download patch

ref: cc8dac5a22a4f9307dd2f94e4bf29ee5b132c0b7
parent: 3b7c495e38345dc135ef3224d5fc3c8d0e0ce087
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Wed Jan 10 19:25:14 EST 2018

Use constants and data for Unown chamber events

--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -142,6 +142,11 @@
 EMOTE_OBJECT EQU 7
 
 
+; see engine/overworld.asm
+MAX_OUTDOOR_SPRITES EQU 23
+SPRITE_GFX_LIST_CAPACITY EQU $20
+
+
 ; SpawnPoints indexes (see data/maps/spawn_points.asm)
 const_value = -1
 	const SPAWN_N_A
@@ -178,6 +183,26 @@
 NUM_SPAWNS EQU const_value
 
 
+; treemon sets
+; TreeMons indexes (see data/wild/treemons.asm)
+	const_def
+	const TREEMON_SET_CITY
+	const TREEMON_SET_CANYON
+	const TREEMON_SET_AZALEA
+	const TREEMON_SET_ROUTE
+	const TREEMON_SET_KANTO
+	const TREEMON_SET_LAKE
+	const TREEMON_SET_FOREST
+	const TREEMON_SET_ROCK
+NUM_TREEMON_SETS EQU const_value
+
+; treemon scores
+	const_def
+	const TREEMON_SCORE_BAD  ; 0
+	const TREEMON_SCORE_GOOD ; 1
+	const TREEMON_SCORE_RARE ; 2
+
+
 ; TryBGEvent arguments (see engine/events.asm)
 	const_def
 	const BGEVENT_READ
@@ -253,28 +278,8 @@
 NUM_FRUIT_TREES EQU const_value +- 1
 
 
-; treemon sets
-; TreeMons indexes (see data/wild/treemons.asm)
-	const_def
-	const TREEMON_SET_CITY
-	const TREEMON_SET_CANYON
-	const TREEMON_SET_AZALEA
-	const TREEMON_SET_ROUTE
-	const TREEMON_SET_KANTO
-	const TREEMON_SET_LAKE
-	const TREEMON_SET_FOREST
-	const TREEMON_SET_ROCK
-NUM_TREEMON_SETS EQU const_value
-
-; treemon scores
-	const_def
-	const TREEMON_SCORE_BAD  ; 0
-	const TREEMON_SCORE_GOOD ; 1
-	const TREEMON_SCORE_RARE ; 2
-
-
 ; elevator floors
-; used by `elevfloor`
+; used by elevfloor
 	const_def
 	const FLOOR_B4F
 	const FLOOR_B3F
@@ -305,6 +310,20 @@
 ; command queue types
 CMDQUEUE_STONETABLE EQU 2
 
-; see engine/overworld.asm
-MAX_OUTDOOR_SPRITES EQU 23
-SPRITE_GFX_LIST_CAPACITY EQU $20
+
+; used by Special_UnownPuzzle
+; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/unown_puzzle.asm)
+	const_def
+	const UNOWNPUZZLE_KABUTO     ; 0
+	const UNOWNPUZZLE_OMANYTE    ; 1
+	const UNOWNPUZZLE_AERODACTYL ; 2
+	const UNOWNPUZZLE_HO_OH      ; 3
+NUM_UNOWN_PUZZLES EQU const_value
+
+; used by Special_DisplayUnownWords
+; UnownWalls and MenuDataHeaders_UnownWalls indexes (see data/unown_walls.asm)
+	const_def
+	const UNOWNWORDS_ESCAPE ; 0
+	const UNOWNWORDS_LIGHT  ; 1
+	const UNOWNWORDS_WATER  ; 2
+	const UNOWNWORDS_HO_OH  ; 3
--- /dev/null
+++ b/data/unown_walls.asm
@@ -1,0 +1,58 @@
+unownwall: MACRO
+rept _NARG
+if \1 == "-"
+x = $64
+else
+if \1 >= "Y"
+x = 2 * (\1 - "Y") + $60
+else
+if \1 >= "Q"
+x = 2 * (\1 - "Q") + $40
+else
+if \1 >= "I"
+x = 2 * (\1 - "I") + $20
+else
+x = 2 * (\1 - "A")
+endc
+endc
+endc
+endc
+	db x
+shift
+endr
+	db -1 ; end
+ENDM
+
+UnownWalls: ; 8aebc
+; UNOWNWORDS_ESCAPE
+	; db      $08, $44, $04, $00, $2e, $08, $ff
+	unownwall "E", "S", "C", "A", "P", "E"
+; UNOWNWORDS_LIGHT
+	; db      $26, $20, $0c, $0e, $46, $ff
+	unownwall "L", "I", "G", "H", "T"
+; UNOWNWORDS_WATER
+	; db      $4c, $00, $46, $08, $42, $ff
+	unownwall "W", "A", "T", "E", "R"
+; UNOWNWORDS_HO_OH
+	; db      $0e, $2c, $64, $2c, $0e, $ff
+	unownwall "H", "O", "-", "O", "H"
+; 8aed5
+
+MenuDataHeaders_UnownWalls: ; 0x8aed5
+; UNOWNWORDS_ESCAPE
+	db $40 ; flags
+	db 04, 03 ; start coords
+	db 09, 16 ; end coords
+; UNOWNWORDS_LIGHT
+	db $40 ; flags
+	db 04, 04 ; start coords
+	db 09, 15 ; end coords
+; UNOWNWORDS_WATER
+	db $40 ; flags
+	db 04, 04 ; start coords
+	db 09, 15 ; end coords
+; UNOWNWORDS_HO_OH
+	db $40 ; flags
+	db 04, 04 ; start coords
+	db 09, 15 ; end coords
+; 8aee9
--- a/engine/events/crystal_unown.asm
+++ /dev/null
@@ -1,324 +1,0 @@
-SpecialHoOhChamber: ; 0x8addb
-	ld hl, PartySpecies
-	ld a, [hl]
-	cp HO_OH ; is Ho-oh the first Pokémon in the party?
-	jr nz, .done ; if not, we're done
-	call GetSecondaryMapHeaderPointer
-	ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
-	ld b, SET_FLAG
-	call EventFlagAction
-.done
-	ret
-; 0x8adef
-
-SpecialOmanyteChamber: ; 8adef
-	call GetSecondaryMapHeaderPointer
-	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
-	ld b, CHECK_FLAG
-	call EventFlagAction
-	ld a, c
-	and a
-	jr nz, .nope
-
-	ld a, WATER_STONE
-	ld [CurItem], a
-	ld hl, NumItems
-	call CheckItem
-	jr c, .open
-
-	ld a, [PartyCount]
-	ld b, a
-	inc b
-.loop
-	dec b
-	jr z, .nope
-	ld a, b
-	dec a
-	ld [CurPartyMon], a
-	push bc
-	ld a, MON_ITEM
-	call GetPartyParamLocation
-	pop bc
-	ld a, [hl]
-	cp WATER_STONE
-	jr nz, .loop
-
-.open
-	call GetSecondaryMapHeaderPointer
-	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
-	ld b, SET_FLAG
-	call EventFlagAction
-
-.nope
-	ret
-; 8ae30
-
-SpecialAerodactylChamber: ; 8ae30
-	push de
-	push bc
-
-	call GetSecondaryMapHeaderPointer
-	ld a, h
-	cp HIGH(RuinsOfAlphAerodactylChamber_SecondMapHeader)
-	jr nz, .nope
-	ld a, l
-	cp LOW(RuinsOfAlphAerodactylChamber_SecondMapHeader)
-	jr nz, .nope
-
-	ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
-	ld b, SET_FLAG
-	call EventFlagAction
-
-	scf
-	jr .done
-
-.nope
-	and a
-
-.done
-	pop bc
-	pop de
-	ret
-; 8ae4e
-
-SpecialKabutoChamber: ; 8ae4e
-	push hl
-	push de
-
-	call GetSecondaryMapHeaderPointer
-	ld a, h
-	cp HIGH(RuinsOfAlphKabutoChamber_SecondMapHeader)
-	jr nz, .done
-	ld a, l
-	cp LOW(RuinsOfAlphKabutoChamber_SecondMapHeader)
-	jr nz, .done
-
-	ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
-	ld b, SET_FLAG
-	call EventFlagAction
-
-.done
-	pop de
-	pop hl
-	ret
-; 8ae68
-
-Special_DisplayUnownWords: ; 8ae68
-	ld a, [ScriptVar]
-	ld hl, .MenuDataHeaders_UnownWalls
-	and a
-	jr z, .load
-
-	ld d, $0
-	ld e, $5
-.loop
-	add hl, de
-	dec a
-	jr nz, .loop
-
-.load
-	call LoadMenuDataHeader
-	xor a
-	ld [hBGMapMode], a
-	call MenuBox
-	call UpdateSprites
-	call ApplyTilemap
-	call MenuBoxCoord2Tile
-	inc hl
-	ld d, 0
-	ld e, SCREEN_WIDTH
-	add hl, de
-	add hl, de
-	ld a, [ScriptVar]
-	ld c, a
-	ld de, .UnownText
-	and a
-	jr z, .copy
-.loop2
-	ld a, [de]
-	inc de
-	cp -1
-	jr nz, .loop2
-	dec c
-	jr nz, .loop2
-.copy
-	call .CopyWord
-	ld bc, AttrMap - TileMap
-	add hl, bc
-	call .FillAttr
-	call WaitBGMap2
-	call JoyWaitAorB
-	call PlayClickSFX
-	call CloseWindow
-	ret
-; 8aebc
-
-unownwall: MACRO
-rept _NARG
-if \1 == "-"
-x = $64
-else
-if \1 >= "Y"
-x = 2 * (\1 - "Y") + $60
-else
-if \1 >= "Q"
-x = 2 * (\1 - "Q") + $40
-else
-if \1 >= "I"
-x = 2 * (\1 - "I") + $20
-else
-x = 2 * (\1 - "A")
-endc
-endc
-endc
-endc
-	db x
-shift
-endr
-	db -1 ; end
-ENDM
-
-.UnownText: ; 8aebc
-;.UnownText_Escape:
-	; db      $08, $44, $04, $00, $2e, $08, $ff
-	unownwall "E", "S", "C", "A", "P", "E"
-;.UnownText_Light:
-	; db      $26, $20, $0c, $0e, $46, $ff
-	unownwall "L", "I", "G", "H", "T"
-;.UnownText_Water:
-	; db      $4c, $00, $46, $08, $42, $ff
-	unownwall "W", "A", "T", "E", "R"
-;.UnownText_Ho_Oh:
-	; db      $0e, $2c, $64, $2c, $0e, $ff
-	unownwall "H", "O", "-", "O", "H"
-; 8aed5
-
-.MenuDataHeaders_UnownWalls: ; 0x8aed5
-;.MenuDataHeader_Escape:
-	db $40 ; flags
-	db 04, 03 ; start coords
-	db 09, 16 ; end coords
-;.MenuDataHeader_Light:
-	db $40 ; flags
-	db 04, 04 ; start coords
-	db 09, 15 ; end coords
-;.MenuDataHeader_Water:
-	db $40 ; flags
-	db 04, 04 ; start coords
-	db 09, 15 ; end coords
-;.MenuDataHeader_Ho_Oh:
-	db $40 ; flags
-	db 04, 04 ; start coords
-	db 09, 15 ; end coords
-; 8aee9
-
-.FillAttr: ; 8aee9
-	ld a, [de]
-	cp $ff
-	ret z
-	cp $60
-	ld a, VRAM_BANK_1 | PAL_BG_BROWN
-	jr c, .got_pal
-	ld a, PAL_BG_BROWN
-
-.got_pal
-	call .PlaceSquare
-	inc hl
-	inc hl
-	inc de
-	jr .FillAttr
-; 8aefd
-
-.PlaceSquare: ; 8aefd
-	push hl
-	ld [hli], a
-	ld [hld], a
-	ld b, 0
-	ld c, SCREEN_WIDTH
-	add hl, bc
-	ld [hli], a
-	ld [hl], a
-	pop hl
-	ret
-; 8af09
-
-.CopyWord: ; 8af09
-	push hl
-	push de
-.word_loop
-	ld a, [de]
-	cp $ff
-	jr z, .word_done
-	ld c, a
-	call .ConvertChar
-	inc hl
-	inc hl
-	inc de
-	jr .word_loop
-
-.word_done
-	pop de
-	pop hl
-	ret
-; 8af1c
-
-.ConvertChar: ; 8af1c
-	push hl
-	ld a, c
-	cp $60
-	jr z, .Tile60
-	cp $62
-	jr z, .Tile62
-	cp $64
-	jr z, .Tile64
-	ld [hli], a
-	inc a
-	ld [hld], a
-	dec a
-	ld b, 0
-	ld c, SCREEN_WIDTH
-	add hl, bc
-	ld c, $10
-	add c
-	ld [hli], a
-	inc a
-	ld [hl], a
-	pop hl
-	ret
-
-.Tile60:
-	ld [hl], $5b
-	inc hl
-	ld [hl], $5c
-	ld bc, SCREEN_WIDTH - 1
-	add hl, bc
-	ld [hl], $4d
-	inc hl
-	ld [hl], $5d
-	pop hl
-	ret
-
-.Tile62:
-	ld [hl], $4e
-	inc hl
-	ld [hl], $4f
-	ld bc, SCREEN_WIDTH - 1
-	add hl, bc
-	ld [hl], $5e
-	inc hl
-	ld [hl], $5f
-	pop hl
-	ret
-
-.Tile64:
-	ld [hl], $2
-	inc hl
-	ld [hl], $3
-	ld bc, SCREEN_WIDTH - 1
-	add hl, bc
-	ld [hl], $3
-	inc hl
-	ld [hl], $2
-	pop hl
-	ret
-; 8af6b
--- /dev/null
+++ b/engine/events/unown_walls.asm
@@ -1,0 +1,267 @@
+SpecialHoOhChamber: ; 0x8addb
+	ld hl, PartySpecies
+	ld a, [hl]
+	cp HO_OH ; is Ho-oh the first Pokémon in the party?
+	jr nz, .done ; if not, we're done
+	call GetSecondaryMapHeaderPointer
+	ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
+	ld b, SET_FLAG
+	call EventFlagAction
+.done
+	ret
+; 0x8adef
+
+SpecialOmanyteChamber: ; 8adef
+	call GetSecondaryMapHeaderPointer
+	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
+	ld b, CHECK_FLAG
+	call EventFlagAction
+	ld a, c
+	and a
+	jr nz, .nope
+
+	ld a, WATER_STONE
+	ld [CurItem], a
+	ld hl, NumItems
+	call CheckItem
+	jr c, .open
+
+	ld a, [PartyCount]
+	ld b, a
+	inc b
+.loop
+	dec b
+	jr z, .nope
+	ld a, b
+	dec a
+	ld [CurPartyMon], a
+	push bc
+	ld a, MON_ITEM
+	call GetPartyParamLocation
+	pop bc
+	ld a, [hl]
+	cp WATER_STONE
+	jr nz, .loop
+
+.open
+	call GetSecondaryMapHeaderPointer
+	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
+	ld b, SET_FLAG
+	call EventFlagAction
+
+.nope
+	ret
+; 8ae30
+
+SpecialAerodactylChamber: ; 8ae30
+	push de
+	push bc
+
+	call GetSecondaryMapHeaderPointer
+	ld a, h
+	cp HIGH(RuinsOfAlphAerodactylChamber_SecondMapHeader)
+	jr nz, .nope
+	ld a, l
+	cp LOW(RuinsOfAlphAerodactylChamber_SecondMapHeader)
+	jr nz, .nope
+
+	ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
+	ld b, SET_FLAG
+	call EventFlagAction
+
+	scf
+	jr .done
+
+.nope
+	and a
+
+.done
+	pop bc
+	pop de
+	ret
+; 8ae4e
+
+SpecialKabutoChamber: ; 8ae4e
+	push hl
+	push de
+
+	call GetSecondaryMapHeaderPointer
+	ld a, h
+	cp HIGH(RuinsOfAlphKabutoChamber_SecondMapHeader)
+	jr nz, .done
+	ld a, l
+	cp LOW(RuinsOfAlphKabutoChamber_SecondMapHeader)
+	jr nz, .done
+
+	ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
+	ld b, SET_FLAG
+	call EventFlagAction
+
+.done
+	pop de
+	pop hl
+	ret
+; 8ae68
+
+Special_DisplayUnownWords: ; 8ae68
+	ld a, [ScriptVar]
+	ld hl, MenuDataHeaders_UnownWalls
+	and a
+	jr z, .load
+
+	ld d, $0
+	ld e, $5
+.loop
+	add hl, de
+	dec a
+	jr nz, .loop
+
+.load
+	call LoadMenuDataHeader
+	xor a
+	ld [hBGMapMode], a
+	call MenuBox
+	call UpdateSprites
+	call ApplyTilemap
+	call MenuBoxCoord2Tile
+	inc hl
+	ld d, 0
+	ld e, SCREEN_WIDTH
+	add hl, de
+	add hl, de
+	ld a, [ScriptVar]
+	ld c, a
+	ld de, UnownWalls
+	and a
+	jr z, .copy
+.loop2
+	ld a, [de]
+	inc de
+	cp -1
+	jr nz, .loop2
+	dec c
+	jr nz, .loop2
+.copy
+	call _DisplayUnownWords_CopyWord
+	ld bc, AttrMap - TileMap
+	add hl, bc
+	call _DisplayUnownWords_FillAttr
+	call WaitBGMap2
+	call JoyWaitAorB
+	call PlayClickSFX
+	call CloseWindow
+	ret
+; 8aebc
+
+INCLUDE "data/unown_walls.asm"
+
+_DisplayUnownWords_FillAttr: ; 8aee9
+	ld a, [de]
+	cp $ff
+	ret z
+	cp $60
+	ld a, VRAM_BANK_1 | PAL_BG_BROWN
+	jr c, .got_pal
+	ld a, PAL_BG_BROWN
+
+.got_pal
+	call .PlaceSquare
+	inc hl
+	inc hl
+	inc de
+	jr _DisplayUnownWords_FillAttr
+; 8aefd
+
+.PlaceSquare: ; 8aefd
+	push hl
+	ld [hli], a
+	ld [hld], a
+	ld b, 0
+	ld c, SCREEN_WIDTH
+	add hl, bc
+	ld [hli], a
+	ld [hl], a
+	pop hl
+	ret
+; 8af09
+
+_DisplayUnownWords_CopyWord: ; 8af09
+	push hl
+	push de
+.word_loop
+	ld a, [de]
+	cp $ff
+	jr z, .word_done
+	ld c, a
+	call .ConvertChar
+	inc hl
+	inc hl
+	inc de
+	jr .word_loop
+
+.word_done
+	pop de
+	pop hl
+	ret
+; 8af1c
+
+.ConvertChar: ; 8af1c
+	push hl
+	ld a, c
+	cp $60
+	jr z, .Tile60
+	cp $62
+	jr z, .Tile62
+	cp $64
+	jr z, .Tile64
+	ld [hli], a
+	inc a
+	ld [hld], a
+	dec a
+	ld b, 0
+	ld c, SCREEN_WIDTH
+	add hl, bc
+	ld c, $10
+	add c
+	ld [hli], a
+	inc a
+	ld [hl], a
+	pop hl
+	ret
+
+.Tile60:
+	ld [hl], $5b
+	inc hl
+	ld [hl], $5c
+	ld bc, SCREEN_WIDTH - 1
+	add hl, bc
+	ld [hl], $4d
+	inc hl
+	ld [hl], $5d
+	pop hl
+	ret
+
+.Tile62:
+	ld [hl], $4e
+	inc hl
+	ld [hl], $4f
+	ld bc, SCREEN_WIDTH - 1
+	add hl, bc
+	ld [hl], $5e
+	inc hl
+	ld [hl], $5f
+	pop hl
+	ret
+
+.Tile64:
+	ld [hl], $2
+	inc hl
+	ld [hl], $3
+	ld bc, SCREEN_WIDTH - 1
+	add hl, bc
+	ld [hl], $3
+	inc hl
+	ld [hl], $2
+	pop hl
+	ret
+; 8af6b
--- a/engine/unown_puzzle.asm
+++ b/engine/unown_puzzle.asm
@@ -157,7 +157,7 @@
 	ld a, $f3
 	ld [hli], a
 	ld bc, 10
-	ld a, $ef
+	ld a, PUZZLE_VOID
 	call ByteFill
 	hlcoord 15, 16
 	ld a, $f3
@@ -218,7 +218,7 @@
 	ld a, [hl]
 	cp 1 puzcoord 0
 	ret c
-	sub $6
+	sub 6
 	ld [hl], a
 	jr .done_joypad
 
@@ -235,7 +235,7 @@
 	ret z
 	cp 5 puzcoord 0
 	ret nc
-	add $6
+	add 6
 	ld [hl], a
 	jr .done_joypad
 
@@ -835,7 +835,7 @@
 
 LoadUnownPuzzlePiecesGFX: ; e17a3
 	ld a, [ScriptVar]
-	and 3
+	maskbits NUM_UNOWN_PUZZLES +- 1
 	ld e, a
 	ld d, 0
 	ld hl, .LZPointers
@@ -851,6 +851,7 @@
 ; e17bd
 
 .LZPointers: ; e17bd
+; entries correspond to UNOWNPUZZLE_* constants
 	dw KabutoPuzzleLZ
 	dw OmanytePuzzleLZ
 	dw AerodactylPuzzleLZ
--- a/main.asm
+++ b/main.asm
@@ -316,7 +316,7 @@
 INCLUDE "engine/events/kurt.asm"
 INCLUDE "engine/player_gfx.asm"
 INCLUDE "mobile/mobile_22.asm"
-INCLUDE "engine/events/crystal_unown.asm"
+INCLUDE "engine/events/unown_walls.asm"
 INCLUDE "engine/events/buena.asm"
 INCLUDE "engine/events/dratini.asm"
 INCLUDE "engine/events/battle_tower/rules.asm"
--- a/maps/RuinsOfAlphAerodactylChamber.asm
+++ b/maps/RuinsOfAlphAerodactylChamber.asm
@@ -49,7 +49,7 @@
 
 MapRuinsOfAlphAerodactylChamberSignpost2Script:
 	refreshscreen $0
-	writebyte $2
+	writebyte UNOWNPUZZLE_AERODACTYL
 	special Special_UnownPuzzle
 	closetext
 	iftrue UnknownScript_0x58df7
@@ -83,7 +83,7 @@
 MapRuinsOfAlphAerodactylChamberSignpost4Script:
 	opentext
 	writetext UnknownText_0x58e4f
-	writebyte $1
+	writebyte UNOWNWORDS_LIGHT
 	special Special_DisplayUnownWords
 	closetext
 	end
@@ -93,7 +93,7 @@
 	iftrue UnknownScript_0x58e46
 	opentext
 	writetext UnknownText_0x58e81
-	writebyte $1
+	writebyte UNOWNWORDS_LIGHT
 	special Special_DisplayUnownWords
 	closetext
 	end
--- a/maps/RuinsOfAlphHoOhChamber.asm
+++ b/maps/RuinsOfAlphHoOhChamber.asm
@@ -50,7 +50,7 @@
 
 MapRuinsOfAlphHoOhChamberSignpost2Script:
 	refreshscreen $0
-	writebyte $3
+	writebyte UNOWNPUZZLE_HO_OH
 	special Special_UnownPuzzle
 	closetext
 	iftrue UnknownScript_0x585ba
@@ -84,7 +84,7 @@
 MapRuinsOfAlphHoOhChamberSignpost4Script:
 	opentext
 	writetext UnknownText_0x58612
-	writebyte $3
+	writebyte UNOWNWORDS_HO_OH
 	special Special_DisplayUnownWords
 	closetext
 	end
@@ -94,7 +94,7 @@
 	iftrue UnknownScript_0x58609
 	opentext
 	writetext UnknownText_0x58644
-	writebyte $3
+	writebyte UNOWNWORDS_HO_OH
 	special Special_DisplayUnownWords
 	closetext
 	end
--- a/maps/RuinsOfAlphKabutoChamber.asm
+++ b/maps/RuinsOfAlphKabutoChamber.asm
@@ -56,7 +56,7 @@
 
 MapRuinsOfAlphKabutoChamberSignpost2Script:
 	refreshscreen $0
-	writebyte $0
+	writebyte UNOWNPUZZLE_KABUTO
 	special Special_UnownPuzzle
 	closetext
 	iftrue UnknownScript_0x58778
@@ -121,7 +121,7 @@
 MapRuinsOfAlphKabutoChamberSignpost4Script:
 	opentext
 	writetext UnknownText_0x58aa7
-	writebyte $0
+	writebyte UNOWNWORDS_ESCAPE
 	special Special_DisplayUnownWords
 	closetext
 	end
@@ -131,7 +131,7 @@
 	iftrue UnknownScript_0x587f7
 	opentext
 	writetext UnknownText_0x58ad9
-	writebyte $0
+	writebyte UNOWNWORDS_ESCAPE
 	special Special_DisplayUnownWords
 	closetext
 	end
--- a/maps/RuinsOfAlphOmanyteChamber.asm
+++ b/maps/RuinsOfAlphOmanyteChamber.asm
@@ -50,7 +50,7 @@
 
 MapRuinsOfAlphOmanyteChamberSignpost2Script:
 	refreshscreen $0
-	writebyte $1
+	writebyte UNOWNPUZZLE_OMANYTE
 	special Special_UnownPuzzle
 	closetext
 	iftrue UnknownScript_0x58c36
@@ -84,7 +84,7 @@
 MapRuinsOfAlphOmanyteChamberSignpost4Script:
 	opentext
 	writetext UnknownText_0x58c8e
-	writebyte $2
+	writebyte UNOWNWORDS_WATER
 	special Special_DisplayUnownWords
 	closetext
 	end
@@ -94,7 +94,7 @@
 	iftrue UnknownScript_0x58c85
 	opentext
 	writetext UnknownText_0x58cc0
-	writebyte $2
+	writebyte UNOWNWORDS_WATER
 	special Special_DisplayUnownWords
 	closetext
 	end