ref: 4cfc1fc2f749f4f458c95721c6dc4a8bb2d0099b
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, [wNumSafariBalls] 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 [wAudioFadeOutControl], a dec a call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA call PlayMusic .asm_1e9c2 ld a, [wChannelSoundIDs + CH4] 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 [wSafariZoneEntranceCurScript], 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, [wNumSafariBalls] 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 [wNewSoundID], 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 [wMenuItemOffset], a ; not used ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, 4 ld [wMaxMenuItem], a ld a, 2 ld [wTopMenuItemY], a ld a, 1 ld [wTopMenuItemX], a .billsPokemonLoop ld hl, wd730 set 6, [hl] coord hl, 0, 0 ld b, 10 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 ; pressed b jr nz, .cancel ld a, [wCurrentMenuItem] add EEVEE cp EEVEE jr z, .displayPokedex cp FLAREON jr z, .displayPokedex cp JOLTEON jr z, .displayPokedex cp VAPOREON jr z, .displayPokedex jr .cancel .displayPokedex call DisplayPokedex call LoadScreenTilesFromBuffer2 jr .billsPokemonLoop .cancel 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 "@"