summaryrefslogtreecommitdiff
path: root/scripts/oakslab.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/oakslab.asm')
-rwxr-xr-xscripts/oakslab.asm387
1 files changed, 381 insertions, 6 deletions
diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm
index 95ee4f25..f441605c 100755
--- a/scripts/oakslab.asm
+++ b/scripts/oakslab.asm
@@ -288,7 +288,6 @@ OaksLabRLE_PlayerWalksToOak:
db D_LEFT, 1
db $FF
-
OaksLabScript11:
ld a, [wSimulatedJoypadStatesIndex]
and a
@@ -701,7 +700,7 @@ OaksLabScript_1c8b9:
ret
OaksLabScript_1d076:
- ld hl, OaksLabText_1c946
+ ld hl, OaksLabTextPointers2
ld a, l
ld [wMapTextPtr], a
ld a, h
@@ -709,13 +708,389 @@ OaksLabScript_1d076:
ret
OaksLabTextPointers: ; 1d082 (7:5082)
- dr $1c910,$1c946
+ dw OaksLabText1
+ dw OaksLabText2
+ dw OaksLabText3
+ dw OaksLabText4
+ dw OaksLabText5
+ dw OaksLabText6
+ dw OaksLabText7
+ dw OaksLabText8
+ dw OaksLabText9
+ dw OaksLabText10
+ dw OaksLabText11
+ dw OaksLabText12
+ dw OaksLabText13
+ dw OaksLabText14
+ dw OaksLabText15
+ dw OaksLabText16
+ dw OaksLabText17
+ dw OaksLabText18
+ dw OaksLabText19
+ dw OaksLabText20
+ dw OaksLabText21
+ dw OaksLabText22
+ dw OaksLabText23
+ dw OaksLabText24
+ dw OaksLabText25
+ dw OaksLabText26
+ dw OaksLabText27
+
+OaksLabTextPointers2:
+ dw OaksLabText1
+ dw OaksLabText2
+ dw OaksLabText3
+ dw OaksLabText4
+ dw OaksLabText5
+ dw OaksLabText6
+ dw OaksLabText7
+ dw OaksLabText8
+ dw OaksLabText9
+
+OaksLabText1:
+ TX_ASM
+ CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2
+ jr nz, .asm_1c968
+ ld hl, OaksLabText_1c97d
+ call PrintText
+ jr .asm_1c97a
+
+.asm_1c968
+ CheckEventReuseA EVENT_GOT_STARTER
+ jr nz, .asm_1c974
+ ld hl, OaksLabText_1c982
+ call PrintText
+ jr .asm_1c97a
+
+.asm_1c974
+ ld hl, OaksLabText_1c987
+ call PrintText
+.asm_1c97a
+ jp TextScriptEnd
+
+OaksLabText_1c97d:
+ TX_FAR _OaksLabGaryText1
+ db "@"
+
+OaksLabText_1c982:
+ TX_FAR _OaksLabText40
+ db "@"
+
+OaksLabText_1c987:
+ TX_FAR _OaksLabText41
+ db "@"
+
+OaksLabText2:
+ TX_ASM
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ CheckEvent EVENT_OAK_ASKED_TO_CHOOSE_MON
+ jr nz, OaksLabScript_1c9ac
+ ld a, $0
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld hl, OaksLabText_1c9a7
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1c9a7:
+ TX_FAR _OaksLabText39
+ db "@"
+
+OaksLabScript_1c9ac:
+ ld a, $1
+ ld [wSavedPlayerScreenY], a
+ xor a
+ ld [wWhichEmotionBubble], a
+ predef EmotionBubble
+ ld a, $8
+ ld [W_OAKSLABCURSCRIPT], a
+ jp TextScriptEnd
+
+OaksLabText3:
+ TX_ASM
+ CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
+ jr nz, .asm_1c9d9
+ ld hl, wPokedexOwned
+ ld b, wPokedexOwnedEnd - wPokedexOwned
+ call CountSetBits
+ ld a, [wNumSetBits]
+ cp 2
+ jr c, .asm_1c9ec
+.asm_1c9d9
+ ld hl, OaksLabText_1ca9f
+ call PrintText
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ predef DisplayDexRating
+ jp .asm_1ca6f
+
+.asm_1c9ec
+ ld b, POKE_BALL
+ call IsItemInBag
+ jr nz, .asm_1ca69
+ ld hl, wPokedexOwned
+ ld b, wPokedexOwnedEnd - wPokedexOwned
+ call CountSetBits
+ ld a, [wNumSetBits]
+ cp 2
+ jr nc, .asm_1ca69
+ CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
+ jr nz, .asm_1ca52
+ CheckEvent EVENT_GOT_POKEDEX
+ jr nz, .asm_1ca4a
+ CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB
+ jr nz, .asm_1ca2b
+ ld a, [wd72e]
+ bit 3, a
+ jr nz, .asm_1ca23
+ ld hl, OaksLabText_1ca72
+ call PrintText
+ jr .asm_1ca6f
+
+.asm_1ca23
+ ld hl, OaksLabText_1ca77
+ call PrintText
+ jr .asm_1ca6f
+
+.asm_1ca2b
+ ld b, OAKS_PARCEL
+ call IsItemInBag
+ jr nz, .asm_1ca3a
+ ld hl, OaksLabText_1ca7c
+ call PrintText
+ jr .asm_1ca6f
+
+.asm_1ca3a
+ ld hl, OaksLabText_1ca81
+ call PrintText
+ call OaksLabScript_1c897
+ ld a, $13
+ ld [W_OAKSLABCURSCRIPT], a
+ jr .asm_1ca6f
+
+.asm_1ca4a
+ ld hl, OaksLabText_1ca8b
+ call PrintText
+ jr .asm_1ca6f
+
+.asm_1ca52
+ CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK
+ jr nz, .asm_1ca69
+ lb bc, POKE_BALL, 5
+ call GiveItem
+ ld hl, OaksLabText_1ca90
+ call PrintText
+ jr .asm_1ca6f
+
+.asm_1ca69
+ ld hl, OaksLabText_1ca9a
+ call PrintText
+.asm_1ca6f
+ jp TextScriptEnd
+
+OaksLabText_1ca72:
+ TX_FAR _OaksLabPikachuText
+ db "@"
+
+OaksLabText_1ca77:
+ TX_FAR _OaksLabText_1d2f5
+ db "@"
+
+OaksLabText_1ca7c:
+ TX_FAR _OaksLabText_1d2fa
+ db "@"
+
+OaksLabText_1ca81:
+ TX_FAR _OaksLabDeliverParcelText1
+ TX_SFX_KEY_ITEM
+ TX_FAR _OaksLabDeliverParcelText2
+ db "@"
+
+OaksLabText_1ca8b:
+ TX_FAR _OaksLabAroundWorldText
+ db "@"
+
+OaksLabText_1ca90:
+ TX_FAR _OaksLabGivePokeballsText1
+ TX_SFX_KEY_ITEM
+ TX_FAR _OaksLabGivePokeballsText2
+ db "@"
+
+OaksLabText_1ca9a:
+ TX_FAR _OaksLabPleaseVisitText
+ db "@"
+
+OaksLabText_1ca9f:
+ TX_FAR _OaksLabText_1d31d
+ db "@"
+
+OaksLabText4:
+OaksLabText5:
+ TX_ASM
+ ld hl, OaksLabText_1caae
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1caae:
+ TX_FAR _OaksLabText_1d32c
+ db "@"
+
+OaksLabText6:
+ TX_FAR _OaksLabText8
+ db "@"
+
+OaksLabText7:
+ TX_ASM
+ ld hl, OaksLabText_1cac2
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1cac2:
+ TX_FAR _OaksLabText_1d340
+ db "@"
+
+OaksLabText13:
+ TX_ASM
+ ld hl, OaksLabText_1cad1
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1cad1:
+ TX_FAR _OaksLabRivalWaitingText
+ db "@"
+
+OaksLabText14:
+ TX_ASM
+ ld hl, OaksLabText_1cae0
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1cae0:
+ TX_FAR _OaksLabChooseMonText
+ db "@"
+
+OaksLabText15:
+ TX_ASM
+ ld hl, OaksLabText_1caef
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1caef:
+ TX_FAR _OaksLabRivalInterjectionText
+ db "@"
+
+OaksLabText16:
+ TX_ASM
+ ld hl, OaksLabText_1cafe
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1cafe:
+ TX_FAR _OaksLabBePatientText
+ db "@"
+
+OaksLabText17:
+ TX_ASM
+ ld hl, OaksLabText_1cb25
+ call PrintText
+ ld hl, OaksLabText_1cb2a
+ call PrintText
+ ld hl, OaksLabText_1cb30
+ call PrintText
+ ld hl, OaksLabText_1cb35
+ call PrintText
+ ld hl, OaksLabText_1cb3a
+ call PrintText
+ jp TextScriptEnd
+
+OaksLabText_1cb25:
+ TX_FAR _OaksLabRivalTakesText1
+ db "@"
+
+OaksLabText_1cb2a:
+ TX_FAR _OaksLabRivalTakesText2
+ TX_SFX_KEY_ITEM
+ db "@"
+
+OaksLabText_1cb30:
+ TX_FAR _OaksLabRivalTakesText3
+ db "@"
+
+OaksLabText_1cb35:
+ TX_FAR _OaksLabRivalTakesText4
+ db "@"
+
+OaksLabText_1cb3a:
+ TX_FAR _OaksLabRivalTakesText5
+ db "@"
+
+OaksLabText18:
+ TX_ASM
+ ld a, PIKACHU
+ ld [W_PLAYERSTARTER], a
+ ld [wd11e], a
+ call GetMonName
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld hl, OaksLabText_1cb85
+ call PrintText
+ ld hl, OaksLabText_1cb8a
+ call PrintText
+ xor a
+ ld [wMonDataLocation], a
+ ld a, 5
+ ld [wCurEnemyLVL], a
+ ld a, PIKACHU
+ ld [wd11e], a
+ ld [wcf91], a
+ call AddPartyMon
+ ld a, 163
+ ld [wPartyMon1CatchRate], a
+ call Func_152d
+ SetEvent EVENT_GOT_STARTER
+ ld hl, wd72e
+ set 3, [hl]
+ jp TextScriptEnd
+
+OaksLabText_1cb85:
+ TX_FAR _OaksLabOakGivesText
+ db "@"
+
+OaksLabText_1cb8a:
+ TX_FAR _OaksLabReceivedText
+ TX_SFX_KEY_ITEM
+ db "@"
-OaksLabText_1c946:
- dr $1c946,$1cbae
+OaksLabText10:
+ dr $1cb90,$1cb9f
+OaksLabText11:
+ dr $1cb9f,$1cbae
OaksLabRivalDefeatedText:
dr $1cbae,$1cbb3
OaksLabRivalBeatYouText:
- dr $1cbb3,$1cc22
+ dr $1cbb3,$1cbb8
+OaksLabText12:
+ dr $1cbb8,$1cbc7
+OaksLabText26:
+ dr $1cbc7,$1cbe0
+OaksLabText27:
+ dr $1cbe0,$1cbef
+OaksLabText19:
+ dr $1cbef,$1cbf4
+OaksLabText20:
+ dr $1cbf4,$1cbf9
+OaksLabText21:
+ dr $1cbf9,$1cbfe
+OaksLabText22:
+ dr $1cbfe,$1cc03
+OaksLabText23:
+ dr $1cc03,$1cc09
+OaksLabText24:
+ dr $1cc09,$1cc0e
+OaksLabText25:
+ dr $1cc0e,$1cc13
+OaksLabText8:
+OaksLabText9:
+ dr $1cc13,$1cc22