diff options
Diffstat (limited to 'scripts/bruno.asm')
-rwxr-xr-x | scripts/bruno.asm | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/scripts/bruno.asm b/scripts/bruno.asm index fcf18b8d..a10a1e49 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -1,33 +1,34 @@ BrunoScript: - call BrunoScript_762ec + call BrunoShowOrHideExitBlock call EnableAutoTextBoxDrawing ld hl, BrunoTrainerHeaders ld de, BrunoScriptPointers - ld a, [W_BRUNOCURSCRIPT] + ld a, [wBrunoCurScript] call ExecuteCurMapScriptInTable - ld [W_BRUNOCURSCRIPT], a + ld [wBrunoCurScript], a ret -BrunoScript_762ec: - ld hl, wd126 +BrunoShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - jr z, .asm_76300 + jr z, .blockExitToNextRoom ld a, $5 - jp BrunoScript_76302 -.asm_76300 + jp .setExitBlock +.blockExitToNextRoom ld a, $24 -BrunoScript_76302: +.setExitBlock ld [wNewTileBlockID], a lb bc, 0, 2 predef_jump ReplaceTileBlock -BrunoScript_7630d: +ResetBrunoScript: xor a - ld [W_BRUNOCURSCRIPT], a + ld [wBrunoCurScript], a ret BrunoScriptPointers: @@ -40,7 +41,8 @@ BrunoScriptPointers: BrunoScript4: ret -BrunoScript_7631d: +BrunoScriptWalkIntoRoom: +; Walk six steps upward. ld hl, wSimulatedJoypadStatesEnd ld a, D_UP ld [hli], a @@ -53,12 +55,12 @@ BrunoScript_7631d: ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret BrunoScript0: - ld hl, CoordsData_7637a + ld hl, BrunoEntranceCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a @@ -67,25 +69,25 @@ BrunoScript0: ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a ld a, [wCoordIndex] - cp $3 - jr c, .asm_7635d + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM - jr z, BrunoScript_7631d -.asm_7635d + jr z, BrunoScriptWalkIntoRoom +.stopPlayerFromLeaving ld a, $2 ld [hSpriteIndexOrTextID], a - call DisplayTextID + call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret -CoordsData_7637a: +BrunoEntranceCoords: db $0A,$04 db $0A,$05 db $0B,$04 @@ -99,15 +101,15 @@ BrunoScript3: call Delay3 xor a ld [wJoyIgnore], a - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret BrunoScript2: call EndTrainerBattle ld a, [wIsInBattle] cp $ff - jp z, BrunoScript_7630d + jp z, ResetBrunoScript ld a, $1 ld [hSpriteIndexOrTextID], a jp DisplayTextID |