ref: 40c1ecb4374a83d9511fe2c5fa99704d9cfc521b
dir: /engine/hidden_object_functions7.asm/
PrintNewBikeText: ; 1e94b (7:694b) call EnableAutoTextBoxDrawing tx_pre_jump NewBicycleText NewBicycleText: ; 1e953 (7:6953) TX_FAR _NewBicycleText db "@" DisplayOakLabLeftPoster: ; 1e958 (7:6958) call EnableAutoTextBoxDrawing tx_pre_jump PushStartText PushStartText: ; 1e960 (7:6960) TX_FAR _PushStartText db "@" DisplayOakLabRightPoster: ; 1e965 (7:6965) call EnableAutoTextBoxDrawing ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld a, [wNumSetBits] cp 2 tx_pre_id SaveOptionText jr c, .ownThreeOrMoreMon tx_pre_id StrengthsAndWeaknessesText .ownThreeOrMoreMon jp PrintPredefTextID SaveOptionText: ; 1e97e (7:697e) TX_FAR _SaveOptionText db "@" StrengthsAndWeaknessesText: ; 1e983 (7:6983) TX_FAR _StrengthsAndWeaknessesText db "@" SafariZoneCheck: ; 1e988 (7:6988) CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, jr z, SafariZoneGameStillGoing ; don't bother printing game over text ld a, [W_NUMSAFARIBALLS] and a jr z, SafariZoneGameOver jr SafariZoneGameStillGoing SafariZoneCheckSteps: ; 1e997 (7:6997) ld a, [wSafariSteps] ld b, a ld a, [wSafariSteps + 1] ld c, a or b jr z, SafariZoneGameOver dec bc ld a, b ld [wSafariSteps], a ld a, c ld [wSafariSteps + 1], a SafariZoneGameStillGoing: ; 1e9ab (7:69ab) xor a ld [wSafariZoneGameOver], a ret SafariZoneGameOver: ; 1e9b0 (7:69b0) call EnableAutoTextBoxDrawing xor a ld [wMusicHeaderPointer], a dec a call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA call PlayMusic .asm_1e9c2 ld a, [wc02a] cp $b9 jr nz, .asm_1e9c2 ld a, TEXT_SAFARI_GAME_OVER ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wPlayerMovingDirection], a ld a, SAFARI_ZONE_ENTRANCE ld [hWarpDestinationMap], a ld a, $3 ld [wDestinationWarpID], a ld a, $5 ld [W_SAFARIZONEENTRANCECURSCRIPT], a SetEvent EVENT_SAFARI_GAME_OVER ld a, 1 ld [wSafariZoneGameOver], a ret PrintSafariGameOverText: ; 1e9ed (7:69ed) xor a ld [wJoyIgnore], a ld hl, SafariGameOverText jp PrintText SafariGameOverText: ; 1e9f7 (7:69f7) TX_ASM ld a, [W_NUMSAFARIBALLS] and a jr z, .asm_1ea04 ld hl, TimesUpText call PrintText .asm_1ea04 ld hl, GameOverText call PrintText jp TextScriptEnd TimesUpText: ; 1ea0d (7:6a0d) TX_FAR _TimesUpText db "@" GameOverText: ; 1ea12 (7:6a12) TX_FAR _GameOverText db "@" PrintCinnabarQuiz: ; 1ea17 (7:6a17) ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing tx_pre_jump CinnabarGymQuiz CinnabarGymQuiz: ; 1ea25 (7:6a25) TX_ASM xor a ld [wOpponentAfterWrongAnswer], a ld a, [wHiddenObjectFunctionArgument] push af and $f ld [hGymGateIndex], a pop af and $f0 swap a ld [$ffdc], a ld hl, CinnabarGymQuizIntroText call PrintText ld a, [hGymGateIndex] dec a add a ld d, 0 ld e, a ld hl, CinnabarQuizQuestions add hl, de ld a, [hli] ld h, [hl] ld l, a call PrintText ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a call CinnabarGymQuiz_1ea92 jp TextScriptEnd CinnabarGymQuizIntroText: ; 1ea5b (7:6a5b) TX_FAR _CinnabarGymQuizIntroText db "@" CinnabarQuizQuestions: ; 1ea60 (7:6a60) dw CinnabarQuizQuestionsText1 dw CinnabarQuizQuestionsText2 dw CinnabarQuizQuestionsText3 dw CinnabarQuizQuestionsText4 dw CinnabarQuizQuestionsText5 dw CinnabarQuizQuestionsText6 CinnabarQuizQuestionsText1: ; 1ea6c (7:6a6c) TX_FAR _CinnabarQuizQuestionsText1 db "@" CinnabarQuizQuestionsText2: ; 1ea71 (7:6a71) TX_FAR _CinnabarQuizQuestionsText2 db "@" CinnabarQuizQuestionsText3: ; 1ea76 (7:6a76) TX_FAR _CinnabarQuizQuestionsText3 db "@" CinnabarQuizQuestionsText4: ; 1ea7b (7:6a7b) TX_FAR _CinnabarQuizQuestionsText4 db "@" CinnabarQuizQuestionsText5: ; 1ea80 (7:6a80) TX_FAR _CinnabarQuizQuestionsText5 db "@" CinnabarQuizQuestionsText6: ; 1ea85 (7:6a85) TX_FAR _CinnabarQuizQuestionsText6 db "@" CinnabarGymGateFlagAction: ; 1ea8a (7:6a8a) EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED predef_jump FlagActionPredef CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) call YesNoChoice ld a, [$ffdc] ld c, a ld a, [wCurrentMenuItem] cp c jr nz, .wrongAnswer ld hl, wd126 set 5, [hl] ld a, [hGymGateIndex] ld [$ffe0], a ld hl, CinnabarGymQuizCorrectText call PrintText ld a, [$ffe0] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_SET call CinnabarGymGateFlagAction jp UpdateCinnabarGymGateTileBlocks_ .wrongAnswer call WaitForSoundToFinish ld a, SFX_DENIED call PlaySound call WaitForSoundToFinish ld hl, CinnabarGymQuizIncorrectText call PrintText ld a, [hGymGateIndex] add $2 AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_TEST EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 predef FlagActionPredef ld a, c and a ret nz ld a, [hGymGateIndex] add $2 ld [wOpponentAfterWrongAnswer], a ret CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) db $0b TX_FAR _CinnabarGymQuizCorrectText db $06 TX_ASM ld a, [$ffe0] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST call CinnabarGymGateFlagAction ld a, c and a jp nz, TextScriptEnd call WaitForSoundToFinish ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish jp TextScriptEnd CinnabarGymQuizIncorrectText: ; 1eb05 (7:6b05) TX_FAR _CinnabarGymQuizIncorrectText db "@" UpdateCinnabarGymGateTileBlocks_: ; 1eb0a (7:6b0a) ; Update the overworld map with open floor blocks or locked gate blocks ; depending on event flags. ld a, 6 ld [hGymGateIndex], a .loop ld a, [hGymGateIndex] dec a add a add a ld d, 0 ld e, a ld hl, CinnabarGymGateCoords add hl, de ld a, [hli] ld b, [hl] ld c, a inc hl ld a, [hl] ld [wGymGateTileBlock], a push bc ld a, [hGymGateIndex] ld [$ffe0], a AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST call CinnabarGymGateFlagAction ld a, c and a jr nz, .unlocked ld a, [wGymGateTileBlock] jr .next .unlocked ld a, $e .next pop bc ld [wNewTileBlockID], a predef ReplaceTileBlock ld hl, hGymGateIndex dec [hl] jr nz, .loop ret CinnabarGymGateCoords: ; 1eb48 (7:6b48) ; format: x-coord, y-coord, direction, padding ; direction: $54 = horizontal gate, $5f = vertical gate db $09,$03,$54,$00 db $06,$03,$54,$00 db $06,$06,$54,$00 db $03,$08,$5f,$00 db $02,$06,$54,$00 db $02,$03,$54,$00 PrintMagazinesText: ; 1eb60 (7:6b60) call EnableAutoTextBoxDrawing tx_pre MagazinesText ret MagazinesText: ; 1eb69 (7:6b69) TX_FAR _MagazinesText db "@" BillsHousePC: ; 1eb6e (7:6b6e) call EnableAutoTextBoxDrawing ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING jr nz, .asm_1ebd2 CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL jr nz, .asm_1eb86 CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR jr nz, .asm_1eb8b .asm_1eb86 tx_pre_jump BillsHouseMonitorText .asm_1eb8b ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a tx_pre BillsHouseInitiatedText ld c, 32 call DelayFrames ld a, SFX_TINK call PlaySound call WaitForSoundToFinish ld c, 80 call DelayFrames ld a, SFX_SHRINK call PlaySound call WaitForSoundToFinish ld c, 48 call DelayFrames ld a, SFX_TINK call PlaySound call WaitForSoundToFinish ld c, 32 call DelayFrames ld a, SFX_GET_ITEM_1 call PlaySound call WaitForSoundToFinish call PlayDefaultMusic SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL ret .asm_1ebd2 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a tx_pre BillsHousePokemonList ret BillsHouseMonitorText: ; 1ebdd (7:6bdd) TX_FAR _BillsHouseMonitorText db "@" BillsHouseInitiatedText: ; 1ebe2 (7:6be2) TX_FAR _BillsHouseInitiatedText db $06 TX_ASM ld a, $ff ld [wc0ee], a call PlaySound ld c, 16 call DelayFrames ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish ld c, 60 call DelayFrames jp TextScriptEnd BillsHousePokemonList: ; 1ec05 (7:6c05) TX_ASM call SaveScreenTilesToBuffer1 ld hl, BillsHousePokemonListText1 call PrintText xor a ld [W_ANIMATIONID], a ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, $3 ld [wMenuWatchedKeys], a ld a, $4 ld [wMaxMenuItem], a ld a, $2 ld [wTopMenuItemY], a ld a, $1 ld [wTopMenuItemX], a .asm_1ec2d ld hl, wd730 set 6, [hl] coord hl, 0, 0 ld b, $a ld c, $9 call TextBoxBorder coord hl, 2, 2 ld de, BillsMonListText call PlaceString ld hl, BillsHousePokemonListText2 call PrintText call SaveScreenTilesToBuffer2 call HandleMenuInput bit 1, a jr nz, .asm_1ec74 ld a, [wCurrentMenuItem] add EEVEE cp EEVEE jr z, .asm_1ec6c cp FLAREON jr z, .asm_1ec6c cp JOLTEON jr z, .asm_1ec6c cp VAPOREON jr z, .asm_1ec6c jr .asm_1ec74 .asm_1ec6c call DisplayPokedex call LoadScreenTilesFromBuffer2 jr .asm_1ec2d .asm_1ec74 ld hl, wd730 res 6, [hl] call LoadScreenTilesFromBuffer2 jp TextScriptEnd BillsHousePokemonListText1: ; 1ec7f (7:6c7f) TX_FAR _BillsHousePokemonListText1 db "@" BillsMonListText: ; 1ec84 (7:6c84) db "EEVEE" next "FLAREON" next "JOLTEON" next "VAPOREON" next "CANCEL@" BillsHousePokemonListText2: ; 1ecaa (7:6caa) TX_FAR _BillsHousePokemonListText2 db "@" DisplayOakLabEmailText: ; 1ecaf (7:6caf) ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing tx_pre_jump OakLabEmailText OakLabEmailText: ; 1ecbd (7:6cbd) TX_FAR _OakLabEmailText db "@"