SilphCo11Script: call SilphCo11Script_62127 call EnableAutoTextBoxDrawing ld hl, SilphCo11TrainerHeaders ld de, SilphCo11ScriptPointers ld a, [wSilphCo11CurScript] call ExecuteCurMapScriptInTable ld [wSilphCo11CurScript], a ret SilphCo11Script_62127: ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z ld hl, SilphCo11GateCoords call SilphCo11Script_6214f call SilphCo11Script_6217b CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret nz ld a, $20 ld [wNewTileBlockID], a lb bc, 6, 3 predef ReplaceTileBlock ret SilphCo11GateCoords: db $06,$03 db $FF SilphCo11Script_6214f: push hl ld hl, wCardKeyDoorY ld a, [hli] ld b, a ld a, [hl] ld c, a xor a ld [$ffe0], a pop hl .asm_62143 ld a, [hli] cp $ff jr z, .asm_6215f push hl ld hl, $ffe0 inc [hl] pop hl cp b jr z, .asm_62154 inc hl jr .asm_62143 .asm_62154 ld a, [hli] cp c jr nz, .asm_62143 ld hl, wCardKeyDoorY xor a ld [hli], a ld [hl], a ret .asm_6215f xor a ld [$ffe0], a ret SilphCo11Script_6217b: ld a, [$ffe0] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret SilphCo11Script_62185: xor a ld [wJoyIgnore], a SilphCo11Script_62189: ld [wSilphCo11CurScript], a ld [wCurMapScript], a ret SilphCo11ScriptPointers: dw SilphCo11Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw SilphCo11Script3 dw SilphCo11Script4 dw SilphCo11Script5 dw SilphCo11Script6 dw SilphCo11Script7 dw SilphCo11Script8 dw SilphCo11Script9 dw SilphCo11Script10 dw SilphCo11Script11 dw SilphCo11Script12 dw SilphCo11Script13 dw SilphCo11Script14 SilphCo11Script0: CheckEvent EVENT_BEAT_SILPH_CO_11F_TRAINER_0 call z, SilphCo11Script_6229c CheckEvent EVENT_782 ret nz CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI call z, SilphCo11Script_621c5 ret SilphCo11Script_621c5: ld hl, CoordsData_62211 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, $3 ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite ld a, $4 call SilphCo11Script_62189 ret CoordsData_62211: db $0D,$06 db $0C,$07 db $FF MovementData_62216: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db $FF SilphCo11Script_621ff: ld [wPlayerMovingDirection], a ld a, b ld [wSpriteStateData1 + 3 * $10 + 9], a ld a, $2 ld [wSpriteStateData1 + 3 * $10 + 1], a ret SilphCo11Script3: ld a, [wIsInBattle] cp $ff jp z, SilphCo11Script_62185 ld a, [wcf0d] cp $1 jr z, .asm_6223c ld a, PLAYER_DIR_LEFT ld b, SPRITE_FACING_RIGHT jr .asm_62240 .asm_6223c ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN .asm_62240 call SilphCo11Script_621ff ld a, $f0 ld [wJoyIgnore], a ld a, $7 ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack callba Func_f25a0 call UpdateSprites call Delay3 call GBFadeInFromBlack SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI xor a ld [wJoyIgnore], a jp SilphCo11Script_62189 SilphCo11Script4: ld a, [wd730] bit 0, a ret nz ld a, $3 ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 jr z, .asm_62284 ld a, PLAYER_DIR_LEFT ld b, SPRITE_FACING_RIGHT jr .asm_62288 .asm_62284 ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN .asm_62288 call SilphCo11Script_621ff call Delay3 xor a ld [wJoyIgnore], a ld hl, wd72d set 6, [hl] set 7, [hl] ld hl, SilphCo10Text_62528 ld de, SilphCo10Text_62528 call SaveEndBattleTextPointers ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 jp SilphCo11Script_62189 SilphCo11Script_6229c: ld a, [wYCoord] cp $3 ret nz ld a, [wXCoord] cp $4 ret nc ResetEvents EVENT_780, EVENT_781 ld a, [wXCoord] cp $3 jr z, .asm_622c3 SetEventReuseHL EVENT_780 ld a, [wXCoord] cp $2 jr z, .asm_622c3 ResetEventReuseHL EVENT_780 SetEventReuseHL EVENT_781 .asm_622c3 call StopAllMusic ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic xor a ld [hJoyHeld], a ld a, $fc ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $8 ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $ff ld [wJoyIgnore], a SetEvent EVENT_782 ld a, $5 call SilphCo11Script_62189 ret ; 622f4 SilphCo11MovementData_622f5: db $5 db $5 db $5 db $5 db $5 db $ff SilphCo11MovementData_622fb: db $5 db $5 db $5 db $5 db $ff SilphCo11MovementData_62300: db $5 db $5 db $5 db $5 db $ff SilphCo11MovementData_62305: db $5 db $5 db $5 db $5 db $5 db $ff SilphCo11MovementData_6230b: db $5 db $5 db $6 db $5 db $5 db $ff SilphCo11MovementData_62311: db $5 db $5 db $5 db $6 db $5 db $5 db $ff SilphCo11Script5: ld de, SilphCo11MovementData_622f5 CheckEitherEventSet EVENT_780, EVENT_781 and a jr z, .asm_6232d ld de, SilphCo11MovementData_62300 cp $1 jr z, .asm_6232d ld de, SilphCo11MovementData_6230b .asm_6232d ld a, $4 ld [hSpriteIndexOrTextID], a call MoveSprite ld a, $ff ld [wJoyIgnore], a ld a, $6 call SilphCo11Script_62189 ret SilphCo11Script6: ld a, $ff ld [wJoyIgnore], a ld a, [wd730] bit 0, a ret nz SilphCo11Script7: ld a, $2 ld [wSpriteStateData1 + 4 * $10 + 1], a ld hl, wSpriteStateData1 + 4 * $10 + 9 ld [hl], SPRITE_FACING_RIGHT CheckEitherEventSet EVENT_780, EVENT_781 and a jr z, .asm_6235e ld [hl], SPRITE_FACING_UP .asm_6235e call Delay3 ld a, $fc ld [wJoyIgnore], a SilphCo11Script8: ld de, SilphCo11MovementData_622fb CheckEitherEventSet EVENT_780, EVENT_781 and a jr z, .asm_6237b ld de, SilphCo11MovementData_62305 cp $1 jr z, .asm_6237b ld de, SilphCo11MovementData_62311 .asm_6237b ld a, $6 ld [hSpriteIndexOrTextID], a call MoveSprite ld a, $ff ld [wJoyIgnore], a ld a, $9 call SilphCo11Script_62189 ret SilphCo11Script9: ld a, $ff ld [wJoyIgnore], a ld a, [wd730] bit 0, a ret nz ld a, $fc ld [wJoyIgnore], a SilphCo11Script10: ld a, $2 ld [wSpriteStateData1 + 6 * $10 + 1], a ld hl, wSpriteStateData1 + 6 * $10 + 9 ld [hl], SPRITE_FACING_UP CheckEitherEventSet EVENT_780, EVENT_781 and a jr z, .asm_623b1 ld [hl], SPRITE_FACING_LEFT .asm_623b1 call Delay3 ld a, $9 ld [hSpriteIndexOrTextID], a call DisplayTextID SilphCo11Script11: ld hl, wd72d set 6, [hl] set 7, [hl] ld hl, SilphCo11Text_624c2 ld de, SilphCo11Text_624c2 call SaveEndBattleTextPointers ld a, OPP_ROCKET ld [wCurOpponent], a ld a, $2d ld [wTrainerNo], a xor a ld [hJoyHeld], a ld [wJoyIgnore], a ld a, $c call SilphCo11Script_62189 ret SilphCo11Script12: ld a, $ff ld [wJoyIgnore], a ld a, [wIsInBattle] cp $ff jp z, SilphCo11Script_62185 ld a, $2 ld [wSpriteStateData1 + 4 * $10 + 1], a ld [wSpriteStateData1 + 6 * $10 + 1], a xor a ld [wSpriteStateData1 + 4 * $10 + 9], a ld [wSpriteStateData1 + 6 * $10 + 9], a ld a, $fc ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a call StopAllMusic ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic ld a, $ff ld [wJoyIgnore], a ld a, $d call SilphCo11Script_62189 ret SilphCo11Script13: ld a, $ff ld [wJoyIgnore], a call GBFadeOutToBlack ld a, HS_SILPH_CO_11F_JAMES call SilphCo11Script_6246d ld a, HS_SILPH_CO_11F_JESSIE call SilphCo11Script_6246d call UpdateSprites call Delay3 call GBFadeInFromBlack ld a, $e call SilphCo11Script_62189 ret SilphCo11Script14: call PlayDefaultMusic xor a ld [hJoyHeld], a ld [wJoyIgnore], a ResetEvent EVENT_782 SetEventReuseHL EVENT_BEAT_SILPH_CO_11F_TRAINER_0 ld a, $0 call SilphCo11Script_62189 ret SilphCo11Script_6245e: ld [wMissableObjectIndex], a predef ShowObject call UpdateSprites call Delay3 ret SilphCo11Script_6246d: ld [wMissableObjectIndex], a predef HideObject ret SilphCo11TextPointers: dw SilphCo11Text1 dw SilphCo11Text2 dw SilphCo11Text3 dw SilphCo11Text4 dw SilphCo11Text5 dw SilphCo11Text6 dw SilphCo11Text7 dw SilphCo11Text8 dw SilphCo11Text9 dw SilphCo11Text10 SilphCo11TrainerHeaders: SilphCo11TrainerHeader0: dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 db ($3 << 4) dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 dw SilphCo11Trainer1BattleText dw SilphCo11Trainer1AfterBattleText dw SilphCo11Trainer1EndBattleText dw SilphCo11Trainer1EndBattleText db $ff ; no more trainers SilphCo11Text4: SilphCo11Text6: SilphCo11Text8: TX_FAR _SilphCoJessieJamesText1 TX_ASM ld c, 10 call DelayFrames ld a, $4 ld [wPlayerMovingDirection], a ld a, $0 ld [wEmotionBubbleSpriteIndex], a ld a, $0 ld [wWhichEmotionBubble], a predef EmotionBubble ld c, 20 call DelayFrames jp TextScriptEnd SilphCo11Text9: TX_FAR _SilphCoJessieJamesText2 db "@" SilphCo11Text_624c2: TX_FAR _SilphCoJessieJamesText3 db "@" SilphCo11Text10: TX_FAR _SilphCoJessieJamesText4 TX_ASM ld c, 64 call DelayFrames jp TextScriptEnd SilphCo11Text1: TX_ASM CheckEvent EVENT_GOT_MASTER_BALL jp nz, .asm_62500 ld hl, SilphCo11Text_62509 call PrintText lb bc, MASTER_BALL, 1 call GiveItem jr nc, .asm_624f8 ld hl, SilphCo11Text_6250e call PrintText SetEvent EVENT_GOT_MASTER_BALL jr .asm_62506 .asm_624f8 ld hl, SilphCo11Text_62519 call PrintText jr .asm_62506 .asm_62500 ld hl, SilphCo11Text_62514 call PrintText .asm_62506 jp TextScriptEnd SilphCo11Text_62509: TX_FAR _SilphCoPresidentText db "@" SilphCo11Text_6250e: TX_FAR _ReceivedSilphCoMasterBallText TX_SFX_KEY_ITEM db "@" SilphCo11Text_62514: TX_FAR _SilphCo10Text_6231c db "@" SilphCo11Text_62519: TX_FAR _SilphCoMasterBallNoRoomText db "@" SilphCo11Text2: TX_FAR _SilphCo11Text2 db "@" SilphCo11Text3: TX_FAR _SilphCo11Text3 db "@" SilphCo10Text_62528: TX_FAR _SilphCo10Text_62330 db "@" SilphCo11Text7: TX_FAR _SilphCo10Text_62335 db "@" SilphCo11Text5: TX_ASM ld hl, SilphCo11TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo11Trainer1BattleText: TX_FAR _SilphCo11BattleText2 db "@" SilphCo11Trainer1EndBattleText: TX_FAR _SilphCo11EndBattleText2 db "@" SilphCo11Trainer1AfterBattleText: TX_FAR _SilphCo11AfterBattleText2 db "@"