kep-hack/scripts/HallOfFame.asm
May Evans a85c26b7d3 LOTS of things
- Replaces the Old Rod with the Candy Sack, an item to evolve Meltan into Melmetal. Meltan and Melmetal aren't in yet.
- Improves Gym Leader and Elite Four AI by a lot. They still use items, they're just better. Fixes XSpecial use while we're at it; before, it didn't actually increase the stat...
- The Scarlet Book now takes up both shelves, one section for each Paradox Pokemon. I also moved the bookshelf so it looks nicer.
- Text in Celadon University has been reduced significantly, taking up less memory and being a bit more RBY-like. It has also been made more accurate (thanks to Daiginjo for translating my booklet!)
- The Magikarp researcher in Celadon University now gives TM Dragon Rage (no longer unused!)
- Added a guard for Mt. Moon Crater.
- Removed TrainerNamePointers, Blank Leader Name Code, and Dakutens/Hakutens using a guide published by YakiNeen.
- PP no longer uses a shitty graphic and is instead properly implemented into the font, optimising the status screen. Also displays in-battle which is kinda cool.
- Lorelei, Bruno, and Agatha now play the Gym Leader theme, not just Lance.

Still unsure how to fix Celadon University's trainers, all I know is a lot of the information should be taken from the Oak fight I did. The code is radically different and doesn't call trainer headers at all. You'll likely want to start from scratch.

The Mt. Moon Crater Guard's text is a little wonky, not sure what's up there. May have been from the way I accessed Mt. Moon in testing. Anyway, if you want to mess around feel free.
2023-02-19 06:25:33 +00:00

116 lines
2.3 KiB
NASM

HallOfFame_Script:
call EnableAutoTextBoxDrawing
ld hl, HallOfFame_ScriptPointers
ld a, [wHallOfFameCurScript]
jp CallFunctionInTable
HallofFameRoomScript_5a4aa:
xor a
ld [wJoyIgnore], a
ld [wHallOfFameCurScript], a
ret
HallOfFame_ScriptPointers:
dw HallofFameRoomScript0
dw HallofFameRoomScript1
dw HallofFameRoomScript2
dw HallofFameRoomScript3
HallofFameRoomScript3:
ret
HallofFameRoomScript2:
call Delay3
ld a, [wLetterPrintingDelayFlags]
push af
xor a
ld [wJoyIgnore], a
predef HallOfFamePC
pop af
ld [wLetterPrintingDelayFlags], a
ld hl, wFlags_D733
res 1, [hl]
inc hl
set 0, [hl]
xor a
ld hl, wLoreleisRoomCurScript
ld [hli], a ; wLoreleisRoomCurScript
ld [hli], a ; wBrunosRoomCurScript
ld [hl], a ; wAgathasRoomCurScript
ld [wLancesRoomCurScript], a
ld [wHallOfFameCurScript], a
; Elite 4 events
ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1
xor a
ld [wHallOfFameCurScript], a
ld a, PALLET_TOWN
ld [wLastBlackoutMap], a
farcall SaveSAVtoSRAM
ld b, 5
.delayLoop
ld c, 600 / 5
call DelayFrames
dec b
jr nz, .delayLoop
call WaitForTextScrollButtonPress
jp Init
HallofFameRoomScript0:
ld a, $ff
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, RLEMovement5a528
call DecodeRLEList
dec a
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $1
ld [wHallOfFameCurScript], a
ret
RLEMovement5a528:
db D_UP, 5
db -1 ; end
HallofFameRoomScript1:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
ld a, PLAYER_DIR_RIGHT
ld [wPlayerMovingDirection], a
ld a, $1
ldh [hSpriteIndex], a
call SetSpriteMovementBytesToFF
ld a, SPRITE_FACING_LEFT
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
call Delay3
xor a
ld [wJoyIgnore], a
inc a ; PLAYER_DIR_RIGHT
ld [wPlayerMovingDirection], a
ld a, $1
ldh [hSpriteIndexOrTextID], a
call DisplayTextID
ld a, $ff
ld [wJoyIgnore], a
ld a, HS_CERULEAN_CAVE_GUY
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_MT_MOON_CRATER_GUARD
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_ROUTE_1_OAK
ld [wMissableObjectIndex], a
predef ShowObject
ld a, $2
ld [wHallOfFameCurScript], a
ret
HallOfFame_TextPointers:
dw HallofFameRoomText1
HallofFameRoomText1:
text_far _HallofFameRoomText1
text_end