shithub: pokecrystal

Download patch

ref: b7e37621873f36a7b1e1d29a02d5b0322194fecf
parent: 2f218f5283ca53c5d512c05332826aa761507195
author: yenatch <[email protected]>
date: Wed Apr 30 22:21:26 EDT 2014

A couple Buena's Password specials.

--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -29,7 +29,8 @@
 SPECIAL_CELEBI            EQU $008f
 SPECIAL_AFTERCELEBI       EQU $0090
 SPECIAL_POKESEER          EQU $0091
-
+SPECIAL_BUENAS_PASSWORD   EQU $0092
+SPECIAL_BUENA_PRIZE       EQU $0093
 SPECIAL_DRATINI           EQU $0094
 
 SPECIAL_BEASTSCHECK       EQU $0096
--- a/main.asm
+++ b/main.asm
@@ -8030,8 +8030,8 @@
 	dbw BANK(Function4989a), Function4989a
 	dbw BANK(Function49bf9), Function49bf9
 	dbw BANK(SpecialPokeSeer), SpecialPokeSeer
-	dbw BANK(Function8af6b), Function8af6b
-	dbw BANK(Function8afd4), Function8afd4
+	dbw BANK(SpecialBuenasPassword), SpecialBuenasPassword
+	dbw BANK(SpecialBuenaPrize), SpecialBuenaPrize
 	dbw BANK(SpecialDratini),SpecialDratini
 	dbw BANK(Function11485), Function11485
 	dbw BANK(SpecialBeastsCheck),SpecialBeastsCheck
@@ -69627,8 +69627,41 @@
 ; 89bd8 (22:5bd8)
 
 Unknown_89bd8: ; 89bd8
-INCBIN "baserom.gbc",$89bd8,$89c34 - $89bd8
+	dw Unknown_89be0
+	dw Unknown_89bf5
+	dw Unknown_89c0a
+	dw Unknown_89c1f
+; 89be0
 
+Unknown_89be0: ; 89be0
+	db $01, $12, $4e, $01, $00
+	db $01, $19, $4e, $01, $40
+	db $01, $12, $72, $01, $20
+	db $01, $19, $72, $01, $60
+	db $ff
+
+Unknown_89bf5: ; 89bf5
+	db $01, $60, $16, $01, $00
+	db $01, $62, $16, $01, $40
+	db $01, $60, $92, $01, $20
+	db $01, $62, $92, $01, $60
+	db $ff
+
+Unknown_89c0a: ; 89c0a
+	db $01, $78, $66, $01, $00
+	db $01, $78, $66, $01, $40
+	db $01, $78, $92, $01, $20
+	db $01, $78, $92, $01, $60
+	db $ff
+
+Unknown_89c1f: ; 89c1f
+	db $01, $80, $66, $01, $00
+	db $01, $80, $66, $01, $40
+	db $01, $80, $92, $01, $20
+	db $01, $80, $92, $01, $60
+	db $ff
+; 89c34
+
 ; known jump sources: 89b97 (22:5b97), 89c44 (22:5c44)
 Function89c34: ; 89c34 (22:5c34)
 	push bc
@@ -69738,10 +69771,16 @@
 ; 89cbf (22:5cbf)
 
 Unknown_89cbf: ; 89cbf
-INCBIN "baserom.gbc",$89cbf,$89ccf - $89cbf
+	db 0, 2, 0, 0
+	db 1, 3, 0, 0
+	db 2, 4, 0, 0
+	db 3, 0, 0, 0
 
 Unknown_89ccf: ; 89ccf
-INCBIN "baserom.gbc",$89ccf,$89cdf - $89ccf
+	db 0, 0, 0, 0
+	db 0, 3, 0, 0
+	db 2, 4, 0, 0
+	db 3, 0, 0, 0
 ; 89cdf
 
 ; known jump sources: 8a50e (22:650e)
@@ -72458,10 +72497,10 @@
 	ret
 ; 8af6b
 
-Function8af6b: ; 8af6b
+SpecialBuenasPassword: ; 8af6b
 	xor a
 	ld [$cf76], a
-	ld hl, Unknown_8afa9
+	ld hl, MenuDataHeader_0x8afa9
 	call Function1d3c
 	ld a, [$dc4a]
 	ld c, a
@@ -72488,10 +72527,42 @@
 	ret
 ; 8afa9
 
-Unknown_8afa9: ; 8afa9
-INCBIN "baserom.gbc",$8afa9,$8afd4 - $8afa9
+MenuDataHeader_0x8afa9: ; 0x8afa9
+	db $40 ; flags
+	db 00, 00 ; start coords
+	db 07, 10 ; end coords
+	dw MenuData2_0x8afb2
+	db 1 ; default option
+; 0x8afb1
 
-Function8afd4: ; 8afd4
+	db 0
+
+MenuData2_0x8afb2: ; 0x8afb2
+	db $81 ; flags
+	db 0 ; items
+	dw Unknown_8afb8
+	dw Function8afbd
+; 0x8afb4
+
+Unknown_8afb8: ; 8afb8
+	db 3
+	db 0, 1, 2, $ff
+
+Function8afbd: ; 8afbd
+	push de
+	ld a, [$dc4a]
+	and $f0
+	ld c, a
+	ld a, [MenuSelection]
+	add c
+	ld c, a
+	callba Functionb8f8f
+	pop hl
+	call PlaceString
+	ret
+; 8afd4
+
+SpecialBuenaPrize: ; 8afd4
 	xor a
 	ld [$d0e4], a
 	ld a, $1
@@ -72513,7 +72584,7 @@
 	call Function8b0e2
 	jr z, .asm_8b05f
 	ld [$cf75], a
-	call Function8b154
+	call GetBuenaPrize
 	ld a, [hl]
 	ld [$d265], a
 	call GetItemName
@@ -72522,7 +72593,7 @@
 	call YesNoBox
 	jr c, .asm_8afeb
 	ld a, [$cf75]
-	call Function8b154
+	call GetBuenaPrize
 	inc hl
 	ld a, [hld]
 	ld c, a
@@ -72566,7 +72637,7 @@
 .asm_8b05f
 	call Function1c17
 	call Function1c17
-	ld hl, $708b
+	ld hl, UnknownText_0x8b08b
 	call PrintText
 	call Functiona36
 	call PlayClickSFX
@@ -72610,7 +72681,7 @@
 ; 0x8b090
 
 Function8b090: ; 8b090
-	ld hl, $70d1
+	ld hl, MenuDataHeader_0x8b0d1
 	call LoadMenuDataHeader
 	ret
 ; 8b097
@@ -72669,7 +72740,7 @@
 ; 8b0e2
 
 Function8b0e2: ; 8b0e2
-	ld hl, Unknown_8b113
+	ld hl, MenuDataHeader_0x8b113
 	call Function1d3c
 	ld a, [MenuSelection]
 	ld [$cf88], a
@@ -72695,13 +72766,57 @@
 	ret
 ; 8b113
 
-Unknown_8b113: ; 8b113
-INCBIN "baserom.gbc",$8b113,$8b154 - $8b113
+MenuDataHeader_0x8b113: ; 0x8b113
+	db $40 ; flags
+	db 01, 01 ; start coords
+	db 09, 16 ; end coords
+	dw MenuData2_0x8b11c
+	db 1 ; default option
+; 0x8b11b
 
-Function8b154: ; 8b154
+	db 0
+
+MenuData2_0x8b11c: ; 0x8b11c
+	db $10 ; flags
+	db 4 ; items
+	db $d, $1
+	dbw BANK(Unknown_8b129), Unknown_8b129
+	dbw BANK(BuenaPrizeItem), BuenaPrizeItem
+	dbw BANK(BuenaPrizePoints), BuenaPrizePoints
+; 8b129
+
+Unknown_8b129: ; 8b129
+	db 9
+	db 1, 2, 3, 4, 5, 6, 7, 8, 9, $ff
+; 8b134
+
+BuenaPrizeItem: ; 8b134
+	ld a, [MenuSelection]
+	call GetBuenaPrize
+	ld a, [hl]
+	push de
+	ld [$d265], a
+	call GetItemName
+	pop hl
+	call PlaceString
+	ret
+; 8b147
+
+BuenaPrizePoints: ; 8b147
+	ld a, [MenuSelection]
+	call GetBuenaPrize
+	inc hl
+	ld a, [hl]
+	ld c, "0"
+	add c
+	ld [de], a
+	ret
+; 8b154
+
+GetBuenaPrize: ; 8b154
 	dec a
-	ld hl, Unknown_8b15e
-	ld b, $0
+	ld hl, BuenaPrizes
+	ld b, 0
 	ld c, a
 	add hl, bc
 	add hl, bc
@@ -72708,8 +72823,16 @@
 	ret
 ; 8b15e
 
-Unknown_8b15e: ; 8b15e
-INCBIN "baserom.gbc",$8b15e,$8b170 - $8b15e
+BuenaPrizes: ; 8b15e
+	db ULTRA_BALL,   2
+	db FULL_RESTORE, 2
+	db NUGGET,       3
+	db RARE_CANDY,   3
+	db PROTEIN,      5
+	db IRON,         5
+	db CARBOS,       5
+	db CALCIUM,      5
+	db HP_UP,        5
 ; 8b170
 
 
@@ -73877,7 +74000,7 @@
 
 Function8b7bd: ; 8b7bd
 	call Function8b855
-	ld hl, Unknown_8b867
+	ld hl, MenuDataHeader_0x8b867
 	call Function1d3c
 	ld a, [$d030]
 	ld [$cf88], a
@@ -73978,9 +74101,119 @@
 	ret
 ; 8b867
 
-Unknown_8b867: ; 8b867
-INCBIN "baserom.gbc",$8b867,$8b94a - $8b867
+MenuDataHeader_0x8b867: ; 0x8b867
+        db $40 ; flags
+        db 03, 01 ; start coords
+        db 13, 18 ; end coords
+        dw MenuData2_0x8b870
+        db 1 ; default option
+; 0x8b86f
 
+	db 0
+
+MenuData2_0x8b870: ; 0x8b870
+        db $3c ; flags
+        db 5 ; items
+	db 3, 1
+	dbw 0, $d002
+	dbw BANK(Function8b880), Function8b880
+	dbw BANK(Function8b88c), Function8b88c
+	dbw BANK(Function8b8c8), Function8b8c8
+; 8b880
+
+Function8b880: ; 8b880
+	ld h, d
+	ld l, e
+	ld de, MenuSelection
+	ld bc, $8102
+	call PrintNum
+	ret
+; 8b88c
+
+Function8b88c: ; 8b88c
+	call Function89160
+	ld h, d
+	ld l, e
+	push hl
+	ld de, String_89116
+	call Function8931b
+	call Function8932d
+	jr c, .asm_8b8a3
+	ld hl, $0000
+	add hl, bc
+	ld d, h
+	ld e, l
+
+.asm_8b8a3
+	pop hl
+	push hl
+	call PlaceString
+	pop hl
+	ld d, $0
+	ld e, $6
+	add hl, de
+	push hl
+	ld de, String_89116
+	call Function8931b
+	call Function8934a
+	jr c, .asm_8b8c0
+	ld hl, $0006
+	add hl, bc
+	ld d, h
+	ld e, l
+
+.asm_8b8c0
+	pop hl
+	call PlaceString
+	call CloseSRAM
+	ret
+; 8b8c8
+
+Function8b8c8: ; 8b8c8
+	ld hl, $c5b8
+	ld b, $2
+	ld c, $12
+	call TextBox
+	ld a, [$d033]
+	ld b, 0
+	ld c, a
+	ld hl, Unknown_8b903
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld d, h
+	ld e, l
+	ld hl, $c5e1
+	call PlaceString
+	ld hl, $c5a4
+	ld a, $f
+	ld [hl], a
+	ld hl, $c5b7
+	ld a, $11
+	ld [hl], a
+	ld a, [$d0e4]
+	cp $24
+	ret c
+	ld hl, $c5a4
+	ld c, $12
+	call Function8b732
+	ret
+; 8b903
+
+Unknown_8b903: ; 8b903
+	dw String_8b90b
+	dw String_8b919
+	dw String_8b92a
+	dw String_8b938
+
+String_8b90b: db "めいしを えらんでください@"        ; Please select a noun.
+String_8b919: db "どの めいしと いれかえますか?@"    ; OK to swap with any noun?
+String_8b92a: db "あいてを えらんでください@"        ; Please select an opponent.
+String_8b938: db "いれる ところを えらんでください@" ; Please select a location.
+; 8b94a
+
 Function8b94a: ; 8b94a
 	ld [$d033], a
 	xor a
@@ -86426,7 +86659,7 @@
 	and $f
 	ld c, a
 	push hl
-	ld hl, $4fb8
+	ld hl, Jumptable_b8fb8
 	ld e, b
 	add hl, de
 	add hl, de
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -201,7 +201,7 @@
 	loadmovesprites
 	spriteface $b, $0
 	refreshscreen $0
-	special $0092
+	special SPECIAL_BUENAS_PASSWORD
 	loadmovesprites
 	iffalse UnknownScript_0x5d845
 	loadfont
@@ -396,7 +396,7 @@
 	iffalse UnknownScript_0x5d90f
 	2writetext UnknownText_0x5e392
 	keeptextopen
-	special $0093
+	special SPECIAL_BUENA_PRIZE
 	loadmovesprites
 	end
 ; 0x5d90f