summaryrefslogtreecommitdiff
path: root/engine/overworld/oaks_aide.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/overworld/oaks_aide.asm')
-rwxr-xr-xengine/overworld/oaks_aide.asm71
1 files changed, 71 insertions, 0 deletions
diff --git a/engine/overworld/oaks_aide.asm b/engine/overworld/oaks_aide.asm
new file mode 100755
index 00000000..ca2c6726
--- /dev/null
+++ b/engine/overworld/oaks_aide.asm
@@ -0,0 +1,71 @@
+OaksAideScript ; 0x59035
+ ld hl, OaksAideHiText
+ call PrintText
+ call YesNoChoice
+ ld a, [$cc26]
+ and a
+ jr nz, .asm_59086 ; 0x59042 $42
+ ld hl, wPokedexOwned
+ ld b, wPokedexOwnedEnd - wPokedexOwned
+ call CountSetBits
+ ld a, [$d11e]
+ ld [$ffdd], a
+ ld b, a
+ ld a, [$ffdb]
+ cp b
+ jr z, .asm_59059 ; 0x59055 $2
+ jr nc, .asm_5907c ; 0x59057 $23
+.asm_59059
+ ld hl, OaksAideHereYouGoText
+ call PrintText
+ ld a, [$ffdc]
+ ld b, a
+ ld c, 1
+ call GiveItem
+ jr nc, .BagFull
+ ld hl, OaksAideGotItemText
+ call PrintText
+ ld a, $1
+ jr .asm_5908e ; 0x59071 $1b
+.BagFull
+ ld hl, OaksAideNoRoomText
+ call PrintText
+ xor a
+ jr .asm_5908e ; 0x5907a $12
+.asm_5907c
+ ld hl, OaksAideUhOhText
+ call PrintText
+ ld a, $80
+ jr .asm_5908e ; 0x59084 $8
+.asm_59086
+ ld hl, OaksAideComeBackText
+ call PrintText
+ ld a, $ff
+.asm_5908e
+ ld [$ffdb], a
+ ret
+
+OaksAideHiText: ; 59091 (16:5091)
+ TX_FAR _OaksAideHiText
+ db "@"
+
+OaksAideUhOhText: ; 59096 (16:5096)
+ TX_FAR _OaksAideUhOhText
+ db "@"
+
+OaksAideComeBackText: ; 5909b (16:509b)
+ TX_FAR _OaksAideComeBackText
+ db "@"
+
+OaksAideHereYouGoText: ; 590a0 (16:50a0)
+ TX_FAR _OaksAideHereYouGoText
+ db "@"
+
+OaksAideGotItemText: ; 590a5 (16:50a5)
+ TX_FAR _OaksAideGotItemText
+ db $0b
+ db "@"
+
+OaksAideNoRoomText: ; 590ab (16:50ab)
+ TX_FAR _OaksAideNoRoomText
+ db "@"