mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-20 22:28:41 +13:00
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:
parent
0659fb1c65
commit
6c9265f0a2
13 changed files with 325 additions and 21 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ BrunoShowOrHideExitBlock:
|
|||
bit 5, [hl]
|
||||
res 5, [hl]
|
||||
ret z
|
||||
CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
|
||||
CheckEitherEventSet EVENT_BEAT_BRUNOS_ROOM_TRAINER_0, EVENT_BEAT_BRUNOS_ROOM_TRAINER_1
|
||||
jr z, .blockExitToNextRoom
|
||||
ld a, $5
|
||||
jp .setExitBlock
|
||||
|
|
@ -121,12 +121,24 @@ BrunosRoomTrainerHeaders:
|
|||
def_trainers
|
||||
BrunosRoomTrainerHeader0:
|
||||
trainer EVENT_BEAT_BRUNOS_ROOM_TRAINER_0, 0, BrunoBeforeBattleText, BrunoEndBattleText, BrunoAfterBattleText
|
||||
BrunosRoomTrainerHeader1:
|
||||
trainer EVENT_BEAT_BRUNOS_ROOM_TRAINER_1, 0, BrunoRematchText, BrunoRematchEndBattleText, BrunoRematchAfterBattleText
|
||||
db -1 ; end
|
||||
|
||||
BrunoText1:
|
||||
text_asm
|
||||
ld hl, BrunosRoomTrainerHeader0
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip
|
||||
ld hl, BrunosRoomTrainerHeader1
|
||||
.skip
|
||||
call TalkToTrainer
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip2
|
||||
ld a, [wTrainerNo]
|
||||
inc a
|
||||
ld [wTrainerNo], a
|
||||
.skip2
|
||||
jp TextScriptEnd
|
||||
|
||||
BrunoBeforeBattleText:
|
||||
|
|
@ -144,3 +156,15 @@ BrunoAfterBattleText:
|
|||
BrunoDontRunAwayText:
|
||||
text_far _BrunoDontRunAwayText
|
||||
text_end
|
||||
|
||||
BrunoRematchText:
|
||||
text_far _BrunoRematchText
|
||||
text_end
|
||||
|
||||
BrunoRematchEndBattleText:
|
||||
text_far _BrunoRematchEndBattleText
|
||||
text_end
|
||||
|
||||
BrunoRematchAfterBattleText:
|
||||
text_far _BrunoRematchAfterBattleText
|
||||
text_end
|
||||
|
|
|
|||
|
|
@ -93,6 +93,18 @@ GaryScript2:
|
|||
jr .saveTrainerId
|
||||
.saveTrainerId
|
||||
ld [wTrainerNo], a
|
||||
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip
|
||||
ld a, [wTrainerNo]
|
||||
inc a
|
||||
inc a
|
||||
inc a
|
||||
inc a
|
||||
inc a
|
||||
; surely there is a better way
|
||||
ld [wTrainerNo], a
|
||||
.skip
|
||||
ld a, 1
|
||||
ld [wIsTrainerBattle], a
|
||||
|
||||
|
|
|
|||
|
|
@ -132,12 +132,24 @@ LancesRoomTrainerHeaders:
|
|||
def_trainers
|
||||
LancesRoomTrainerHeader0:
|
||||
trainer EVENT_BEAT_LANCES_ROOM_TRAINER_0, 0, LanceBeforeBattleText, LanceEndBattleText, LanceAfterBattleText
|
||||
LancesRoomTrainerHeader1:
|
||||
trainer EVENT_BEAT_LANCES_ROOM_TRAINER_1, 0, LanceRematchText, LanceRematchEndBattleText, LanceRematchAfterBattleText
|
||||
db -1 ; end
|
||||
|
||||
LanceText1:
|
||||
text_asm
|
||||
ld hl, LancesRoomTrainerHeader0
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip
|
||||
ld hl, LancesRoomTrainerHeader1
|
||||
.skip
|
||||
call TalkToTrainer
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip2
|
||||
ld a, [wTrainerNo]
|
||||
inc a
|
||||
ld [wTrainerNo], a
|
||||
.skip2
|
||||
jp TextScriptEnd
|
||||
|
||||
LanceBeforeBattleText:
|
||||
|
|
@ -153,3 +165,17 @@ LanceAfterBattleText:
|
|||
text_asm
|
||||
SetEvent EVENT_BEAT_LANCE
|
||||
jp TextScriptEnd
|
||||
|
||||
LanceRematchText:
|
||||
text_far _LanceRematchText
|
||||
text_end
|
||||
|
||||
LanceRematchEndBattleText:
|
||||
text_far _LanceRematchEndBattleText
|
||||
text_end
|
||||
|
||||
LanceRematchAfterBattleText:
|
||||
text_far _LanceRematchAfterBattleText
|
||||
text_asm
|
||||
SetEvent EVENT_BEAT_LANCE
|
||||
jp TextScriptEnd
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ LoreleiShowOrHideExitBlock:
|
|||
ret z
|
||||
ld hl, wBeatLorelei
|
||||
set 1, [hl]
|
||||
CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
|
||||
CheckEitherEventSet EVENT_BEAT_LORELEIS_ROOM_TRAINER_0, EVENT_BEAT_LORELEIS_ROOM_TRAINER_1
|
||||
jr z, .blockExitToNextRoom
|
||||
ld a, $5
|
||||
jr .setExitBlock
|
||||
|
|
@ -123,12 +123,24 @@ LoreleisRoomTrainerHeaders:
|
|||
def_trainers
|
||||
LoreleisRoomTrainerHeader0:
|
||||
trainer EVENT_BEAT_LORELEIS_ROOM_TRAINER_0, 0, LoreleiBeforeBattleText, LoreleiEndBattleText, LoreleiAfterBattleText
|
||||
LoreleisRoomTrainerHeader1:
|
||||
trainer EVENT_BEAT_LORELEIS_ROOM_TRAINER_1, 0, LoreleiRematchText, LoreleiRematchEndBattleText, LoreleiRematchAfterBattleText
|
||||
db -1 ; end
|
||||
|
||||
LoreleiText1:
|
||||
text_asm
|
||||
ld hl, LoreleisRoomTrainerHeader0
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip
|
||||
ld hl, LoreleisRoomTrainerHeader1
|
||||
.skip
|
||||
call TalkToTrainer
|
||||
CheckEvent EVENT_POST_GAME_ATTAINED
|
||||
jr z, .skip2
|
||||
ld a, [wTrainerNo]
|
||||
inc a
|
||||
ld [wTrainerNo], a
|
||||
.skip2
|
||||
jp TextScriptEnd
|
||||
|
||||
LoreleiBeforeBattleText:
|
||||
|
|
@ -146,3 +158,16 @@ LoreleiAfterBattleText:
|
|||
LoreleiDontRunAwayText:
|
||||
text_far _LoreleiDontRunAwayText
|
||||
text_end
|
||||
|
||||
LoreleiRematchText:
|
||||
text_far _LoreleiRematchText
|
||||
text_end
|
||||
|
||||
LoreleiRematchEndBattleText:
|
||||
text_far _LoreleiRematchEndBattleText
|
||||
text_end
|
||||
|
||||
LoreleiRematchAfterBattleText:
|
||||
text_far _LoreleiRematchAfterBattleText
|
||||
text_end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue