diff options
Diffstat (limited to 'scripts/agatha.asm')
-rwxr-xr-x | scripts/agatha.asm | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/scripts/agatha.asm b/scripts/agatha.asm index 39db37d5..6f611071 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -1,46 +1,48 @@ -AgathaScript: ; 7642d (1d:642d) - call AgathaScript_76443 +AgathaScript: + call AgathaShowOrHideExitBlock call EnableAutoTextBoxDrawing ld hl, AgathaTrainerHeaders ld de, AgathaScriptPointers - ld a, [W_AGATHACURSCRIPT] + ld a, [wAgathaCurScript] call ExecuteCurMapScriptInTable - ld [W_AGATHACURSCRIPT], a + ld [wAgathaCurScript], a ret -AgathaScript_76443: ; 76443 (1d:6443) - ld hl, wd126 +AgathaShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - jr z, .asm_76457 + jr z, .blockExitToNextRoom ld a, $e - jp AgathaScript_76459 -.asm_76457 + jp .setExitBlock +.blockExitToNextRoom ld a, $3b -AgathaScript_76459: ; 76459 (1d:6459) +.setExitBlock ld [wNewTileBlockID], a lb bc, 0, 2 predef_jump ReplaceTileBlock -AgathaScript_76464: ; 76464 (1d:6464) +ResetAgathaScript: xor a - ld [W_AGATHACURSCRIPT], a + ld [wAgathaCurScript], a ret -AgathaScriptPointers: ; 76469 (1d:6469) +AgathaScriptPointers: dw AgathaScript0 dw DisplayEnemyTrainerTextAndStartBattle dw AgathaScript2 dw AgathaScript3 dw AgathaScript4 -AgathaScript4: ; 76473 (1d:6473) +AgathaScript4: ret -AgathaScript_76474: ; 76474 (1d:6474) +AgathaScriptWalkIntoRoom: +; Walk six steps upward. ld hl, wSimulatedJoypadStatesEnd ld a, D_UP ld [hli], a @@ -53,12 +55,12 @@ AgathaScript_76474: ; 76474 (1d:6474) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -AgathaScript0: ; 76490 (1d:6490) - ld hl, CoordsData_764d1 +AgathaScript0: + ld hl, AgathaEntranceCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a @@ -67,60 +69,60 @@ AgathaScript0: ; 76490 (1d:6490) ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a ld a, [wCoordIndex] - cp $3 - jr c, .asm_764b4 + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM - jr z, AgathaScript_76474 -.asm_764b4 + jr z, AgathaScriptWalkIntoRoom +.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_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -CoordsData_764d1: ; 764d1 (1d:64d1) +AgathaEntranceCoords: db $0A,$04 db $0A,$05 db $0B,$04 db $0B,$05 db $FF -AgathaScript3: ; 764da (1d:64da) +AgathaScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -AgathaScript2: ; 764ed (1d:64ed) +AgathaScript2: call EndTrainerBattle ld a, [wIsInBattle] cp $ff - jp z, AgathaScript_76464 + jp z, ResetAgathaScript ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -AgathaTextPointers: ; 76505 (1d:6505) +AgathaTextPointers: dw AgathaText1 dw AgathaDontRunAwayText -AgathaTrainerHeaders: ; 76509 (1d:6509) -AgathaTrainerHeader0: ; 76509 (1d:6509) +AgathaTrainerHeaders: +AgathaTrainerHeader0: dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 @@ -131,24 +133,24 @@ AgathaTrainerHeader0: ; 76509 (1d:6509) db $ff -AgathaText1: ; 76516 (1d:6516) +AgathaText1: TX_ASM ld hl, AgathaTrainerHeader0 call TalkToTrainer jp TextScriptEnd -AgathaBeforeBattleText: ; 76520 (1d:6520) +AgathaBeforeBattleText: TX_FAR _AgathaBeforeBattleText db "@" -AgathaEndBattleText: ; 76525 (1d:6525) +AgathaEndBattleText: TX_FAR _AgathaEndBattleText db "@" -AgathaAfterBattleText: ; 7652a (1d:652a) +AgathaAfterBattleText: TX_FAR _AgathaAfterBattleText db "@" -AgathaDontRunAwayText: ; 7652f (1d:652f) +AgathaDontRunAwayText: TX_FAR _AgathaDontRunAwayText db "@" |