Elite Four + Champion refights

This was an interesting thought exercise.

As you can see, this code adds a scaling function for when you reach the KEP post-game. These teams are very powerful and a strong test of the player's skills.

I did, however, remove the Legendary Pokemon from the first three's teams. They felt a little bit out there and kind of decrease the significance of the player's. Plus, we just went through hell adding conditional Hall of Fame respawns.

The Elite Four use refight text based on their LGPE appearances. It's honestly a little odd, so if it's too much, the FRLG conditional text could be used instead. I like the way Agatha's plays out, though...

Anyway, stupid hacky implementation done, please don't look at how I did the champion's trainer number.
This commit is contained in:
Llinos Evans 2023-07-09 22:16:09 +01:00
parent 0659fb1c65
commit 6c9265f0a2
13 changed files with 325 additions and 21 deletions

View file

@ -14,7 +14,7 @@ AgathaShowOrHideExitBlock:
bit 5, [hl]
res 5, [hl]
ret z
CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
CheckEitherEventSet EVENT_BEAT_AGATHAS_ROOM_TRAINER_0, EVENT_BEAT_AGATHAS_ROOM_TRAINER_1
jr z, .blockExitToNextRoom
ld a, $e
jp .setExitBlock
@ -124,12 +124,24 @@ AgathasRoomTrainerHeaders:
def_trainers
AgathasRoomTrainerHeader0:
trainer EVENT_BEAT_AGATHAS_ROOM_TRAINER_0, 0, AgathaBeforeBattleText, AgathaEndBattleText, AgathaAfterBattleText
AgathasRoomTrainerHeader1:
trainer EVENT_BEAT_AGATHAS_ROOM_TRAINER_1, 0, AgathaRematchText, AgathaRematchEndBattleText, AgathaRematchAfterBattleText
db -1 ; end
AgathaText1:
text_asm
ld hl, AgathasRoomTrainerHeader0
CheckEvent EVENT_POST_GAME_ATTAINED
jr z, .skip
ld hl, AgathasRoomTrainerHeader1
.skip
call TalkToTrainer
CheckEvent EVENT_POST_GAME_ATTAINED
jr z, .skip2
ld a, [wTrainerNo]
inc a
ld [wTrainerNo], a
.skip2
jp TextScriptEnd
AgathaBeforeBattleText:
@ -147,3 +159,15 @@ AgathaAfterBattleText:
AgathaDontRunAwayText:
text_far _AgathaDontRunAwayText
text_end
AgathaRematchText:
text_far _AgathaRematchText
text_end
AgathaRematchEndBattleText:
text_far _AgathaRematchEndBattleText
text_end
AgathaRematchAfterBattleText:
text_far _AgathaRematchAfterBattleText
text_end