mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-10-15 19:54:24 +13:00
Post-Playtest Bug Fixes
- Finishes the Vermilion Beauty event. One silly mistake involving the choice was fixed, and a workaround for wBeautyChoice failing in strange places implemented. Functionally the result I wanted. - Implemented the Yellow spriteset for Vermilion City with minor adaptations. Fixes that funny issue I found on stream. - Viridian Pre-Gym was fixed, reworking some events.
This commit is contained in:
parent
e932c39ed4
commit
6ba59391c1
|
@ -212,13 +212,10 @@ Known Bugs
|
|||
- Only portions of spinner tiles animate.
|
||||
- Occasionally, menu text sets itself to scroll.
|
||||
- The lone Rocket in Viridian Gym's basement needs to be directly spoken to to be battled.
|
||||
- Pokedex is very laggy during a playthrough, and seen/owned are being weird (possibly due to a change made when adding extra starters..?)
|
||||
- Dome and Wing Fossils in Rock Tunnel B1F don't show properly.
|
||||
- Pokedex does not load a full dex properly due to a soft limit of 248.
|
||||
- The Tradeback Tutor doesn't work properly with Rhydon for reasons likely related to its index number of 1.
|
||||
- The Vermilion Passes are very unstable (Faraway warps are weird unless you battle, Citrine outright crashes).
|
||||
- HP DV does not appear to display correctly.
|
||||
- Vermilion Beauty gives the wrong Pokemon when cats are chosen, seems to be an issue with wBeautyChoice.
|
||||
- GetMonName doesn't work properly for the Vermilion Beauty after receiving the Pokemon, jank ensues.
|
||||
- HP DV does not appear to display correctly in the viewer.
|
||||
|
||||
Evolution Methods for new Pokemon
|
||||
====
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
; Viridian City events
|
||||
const_next $28
|
||||
const EVENT_VIRIDIAN_GYM_OPEN
|
||||
const EVENT_GOT_TM42
|
||||
const EVENT_BEAT_YUJIROU
|
||||
const EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_0
|
||||
const EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_1
|
||||
const EVENT_GOT_TM42
|
||||
const EVENT_BEAT_YUJIROU
|
||||
const_skip 11
|
||||
const EVENT_OAK_GOT_PARCEL
|
||||
const EVENT_GOT_OAKS_PARCEL
|
||||
|
|
|
@ -6,18 +6,17 @@ ViridianPreGym_Object:
|
|||
warp_event 4, 13, LAST_MAP, 7
|
||||
|
||||
def_bg_events
|
||||
bg_event 2, 7, 7 ; League poster
|
||||
bg_event 4, 0, 8 ; Trainer Tips 1
|
||||
bg_event 5, 0, 9 ; Trainer Tips 2
|
||||
bg_event 8, 6, 10 ; PC
|
||||
bg_event 3, 7, 11 ; Rhydon Statue
|
||||
bg_event 6, 7, 12 ; Rhydon Statue
|
||||
bg_event 2, 7, 6 ; League poster
|
||||
bg_event 4, 0, 7 ; Trainer Tips 1
|
||||
bg_event 5, 0, 8 ; Trainer Tips 2
|
||||
bg_event 8, 6, 9 ; PC
|
||||
bg_event 3, 7, 10 ; Rhydon Statue
|
||||
bg_event 6, 7, 11 ; Rhydon Statue
|
||||
|
||||
def_object_events
|
||||
object_event 5, 2, SPRITE_YOUNGSTER, STAY, NONE, 1 ; person, Yujirou
|
||||
object_event 5, 2, SPRITE_YOUNGSTER, STAY, NONE, 2 ; person, Yujirou 2
|
||||
object_event 6, 9, SPRITE_GIRL, STAY, LEFT, 4, OPP_STUDENT, 1 ; person, Trainer 1
|
||||
object_event 3, 8, SPRITE_GIRL, STAY, RIGHT, 5, OPP_STUDENT, 2 ; person, Trainer 2
|
||||
object_event 1, 6, SPRITE_GYM_GUIDE, STAY, DOWN, 6 ; person
|
||||
object_event 6, 9, SPRITE_GIRL, STAY, LEFT, 1, OPP_STUDENT, 1 ; person, Trainer 1
|
||||
object_event 3, 8, SPRITE_GIRL, STAY, RIGHT, 2, OPP_STUDENT, 2 ; person, Trainer 2
|
||||
object_event 5, 2, SPRITE_YOUNGSTER, STAY, NONE, 3 ; person, Yujirou
|
||||
object_event 1, 6, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person
|
||||
|
||||
def_warps_to VIRIDIAN_PRE_GYM
|
|
@ -111,13 +111,13 @@ SpriteSets:
|
|||
|
||||
; SPRITESET_VERMILION
|
||||
db SPRITE_BEAUTY
|
||||
db SPRITE_OFFICER_JENNY
|
||||
db SPRITE_SUPER_NERD
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_GAMBLER
|
||||
db SPRITE_MONSTER
|
||||
db SPRITE_GUARD
|
||||
db SPRITE_SAILOR
|
||||
db SPRITE_OFFICER_JENNY
|
||||
db SPRITE_COOLTRAINER_F
|
||||
db SPRITE_COOLTRAINER_M
|
||||
db SPRITE_POKE_BALL
|
||||
db SPRITE_CAT
|
||||
|
|
|
@ -53,7 +53,7 @@ IF DEF(_DEBUG)
|
|||
; Set BeautyChoice to GROWLITHE to test the other choice.
|
||||
ld a, 5
|
||||
ld [wBeautyCounter], a
|
||||
ld a, MEOWTH
|
||||
ld a, GROWLITHE
|
||||
ld [wBeautyChoice], a
|
||||
|
||||
; Test Post-Game Functionality.
|
||||
|
|
|
@ -525,13 +525,15 @@ PassRefuse:
|
|||
; LGPE Beauty who gives you a Persian or Arcanine depending on the game.
|
||||
; Here, we make it a Cats vs Dogs question and change based on that.
|
||||
; The way it works is it makes the player catch the opposite Pokemon, and then get the one they picked.
|
||||
; So Meowth gets Arcanine, and Growlithe gets Persian.
|
||||
; This code is kind of schizophrenic but it does the job.
|
||||
; Meowth = Arcanine
|
||||
; Growlithe = Persian
|
||||
; This code is nightmare fuel but it does the job.
|
||||
; Basically, at some point, wBeautyChoice stops working for reasons scientists are still trying to figure out.
|
||||
VermilionBeauty:
|
||||
text_asm
|
||||
|
||||
CheckEvent EVENT_VERMILION_BEAUTY_DONE ; First, check if the event is actually done.
|
||||
jp nz, BeautyDone ; Yes? Alright, no need for this.
|
||||
jp nz, .beautyDone ; Yes? Alright, no need for this.
|
||||
|
||||
ld a, [wBeautyChoice] ; Next, we check if wBeautyChoice has been set. This saves an event constant.
|
||||
cp 0 ; It will never be 0 if the player has made their choice.
|
||||
|
@ -545,11 +547,11 @@ VermilionBeauty:
|
|||
jr z, .eventIsFinished ; Big if true.
|
||||
jr nz, .eventInProgress ; Small if false.
|
||||
|
||||
; Let us start the game.
|
||||
.eventStart
|
||||
ld hl, BeautyText1 ; Let's open the text.
|
||||
call PrintText
|
||||
call CatsDogsChoice
|
||||
|
||||
ld a, [wCurrentMenuItem] ; Let's load what they picked. 0 is cats, 1 is dogs.
|
||||
and a
|
||||
jr nz, .getArcanine ; Skip storing Growlithe if dogs.
|
||||
|
@ -559,23 +561,27 @@ VermilionBeauty:
|
|||
ld a, MEOWTH
|
||||
.skip ; Now we land here.
|
||||
ld [wBeautyChoice], a ; Finally store the choice in wBeautyChoice.
|
||||
|
||||
ld hl, BeautyText2 ; Now spit it out.
|
||||
call PrintText
|
||||
|
||||
.eventInProgress ; This is a jump point for if the event was already started.
|
||||
|
||||
; This is a jump point for if the event was already started.
|
||||
.eventInProgress
|
||||
ld a, [wBeautyChoice]
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, BeautyChoice
|
||||
call PrintText
|
||||
jr .done ; no give pokemon. bad.
|
||||
|
||||
; Now if the event is finished, she needs to hand the Pokemon over.
|
||||
.eventIsFinished
|
||||
call SaveScreenTilesToBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
ld hl, BeautyFinish1
|
||||
ld a, [wBeautyChoice]
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, BeautyFinish
|
||||
cp GROWLITHE
|
||||
jr z, .skip2
|
||||
ld hl, BeautyFinish2
|
||||
.skip2
|
||||
call PrintText
|
||||
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
|
||||
and a ; yep, here too.
|
||||
|
@ -583,27 +589,32 @@ VermilionBeauty:
|
|||
call EnableAutoTextBoxDrawing ; and here. GivePokemon is very hasty.
|
||||
lb bc, PERSIAN, 16 ; because we're elitists, let's see if they chose cats first.
|
||||
ld a, [wBeautyChoice] ; *sigh*, but if they're dog lovers, let's make sure they actually want Persian.
|
||||
cp PERSIAN ; Do they? If yes, skip.
|
||||
jr z, .skip2 ; electric boogaloo
|
||||
cp GROWLITHE ; Do they? If yes, skip.
|
||||
jr z, .skip3 ; electric boogaloo
|
||||
lb bc, ARCANINE, 16 ; ok but skip2 means arc never gets loaded in. very good sequel. disney would NEVER.
|
||||
.skip2
|
||||
.skip3
|
||||
call GivePokemon
|
||||
jr nc, .done
|
||||
call LoadScreenTilesFromBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
SetEvent EVENT_VERMILION_BEAUTY_DONE ; and now we can finally rest.
|
||||
ld hl, wd72e
|
||||
set 0, [hl]
|
||||
.done
|
||||
jp TextScriptEnd
|
||||
jr .done
|
||||
|
||||
; This needs to be separate for reasons I refuse to elaborate on for fear of angering God.
|
||||
BeautyDone:
|
||||
text_asm
|
||||
; Now if it's already been said and done, we go here.
|
||||
; Due to man-made horrors beyond my comprehension, we need to split the text here.
|
||||
.beautyDone
|
||||
ld hl, BeautyExplain1
|
||||
ld a, [wBeautyChoice]
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, BeautyExplain
|
||||
cp GROWLITHE
|
||||
jr z, .skip4
|
||||
ld hl, BeautyExplain2
|
||||
.skip4
|
||||
call PrintText
|
||||
ld hl, BeautyExplainCont
|
||||
call PrintText
|
||||
;fallthrough
|
||||
.done
|
||||
jp TextScriptEnd
|
||||
|
||||
; displays cats/dogs choice
|
||||
|
@ -637,10 +648,22 @@ BeautyChoice:
|
|||
text_far _BeautyChoice
|
||||
text_end
|
||||
|
||||
BeautyFinish:
|
||||
text_far _BeautyFinish
|
||||
BeautyFinish1:
|
||||
text_far _BeautyFinish1
|
||||
text_end
|
||||
|
||||
BeautyExplain:
|
||||
text_far _BeautyExplain
|
||||
BeautyFinish2:
|
||||
text_far _BeautyFinish2
|
||||
text_end
|
||||
|
||||
BeautyExplain1:
|
||||
text_far _BeautyExplain1
|
||||
text_end
|
||||
|
||||
BeautyExplain2:
|
||||
text_far _BeautyExplain2
|
||||
text_end
|
||||
|
||||
BeautyExplainCont:
|
||||
text_far _BeautyExplainCont
|
||||
text_end
|
||||
|
|
|
@ -32,10 +32,10 @@ YujirouHasBeenBeaten:
|
|||
jp ViridianPreGymResetScripts
|
||||
|
||||
ViridianPreGym_TextPointers:
|
||||
dw YujirouText
|
||||
dw YujirouHasBeenBeaten
|
||||
dw ViridianPreGymText1
|
||||
dw ViridianPreGymText2
|
||||
dw YujirouText
|
||||
dw YujirouHasBeenBeaten
|
||||
dw ViridianPreGymGuide
|
||||
dw ViridianPreGymSign1
|
||||
dw ViridianPreGymSign2
|
||||
|
@ -45,7 +45,7 @@ ViridianPreGym_TextPointers:
|
|||
dw ViridianPreGymStatue2
|
||||
|
||||
ViridianPreGymTrainerHeaders:
|
||||
def_trainers 3
|
||||
def_trainers
|
||||
ViridianPreGymTrainerHeader0:
|
||||
trainer EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_0, 3, ViridianPreGymBattleText1, ViridianPreGymEndBattleText1, ViridianPreGymAfterBattleText1
|
||||
ViridianPreGymTrainerHeader1:
|
||||
|
@ -98,9 +98,9 @@ YujirouText:
|
|||
ld de, YujirouWinText
|
||||
call SaveEndBattleTextPointers
|
||||
call EngageMapTrainer
|
||||
ld a, OPP_BROCK
|
||||
ld a, OPP_YUJIROU
|
||||
ld [wCurOpponent], a
|
||||
ld a, 9
|
||||
ld a, 2
|
||||
ld [wTrainerNo], a
|
||||
ld a, 1
|
||||
ld [wIsTrainerBattle], a
|
||||
|
|
|
@ -199,20 +199,30 @@ _BeautyChoice:: ; this is separate for the in-progress event.
|
|||
para "See you then!"
|
||||
done
|
||||
|
||||
_BeautyFinish::
|
||||
_BeautyFinish1:: ; I hate this, but it has to be this way. wBeautyChoice refuses to work.
|
||||
text "Oh! You've caught"
|
||||
line "5 "
|
||||
text_ram wcd6d
|
||||
text "!"
|
||||
prompt
|
||||
line "5 GROWLITHE!"
|
||||
done
|
||||
|
||||
_BeautyExplain::
|
||||
text "When "
|
||||
text_ram wcd6d
|
||||
_BeautyFinish2::
|
||||
text "Oh! You've caught"
|
||||
line "5 MEOWTH!"
|
||||
done
|
||||
|
||||
_BeautyExplain1::
|
||||
text "When MEOWTH"
|
||||
line "evolves, it will"
|
||||
cont "look like this."
|
||||
|
||||
para "Hm? Why did I"
|
||||
prompt
|
||||
|
||||
_BeautyExplain2::
|
||||
text "When GROWLITHE"
|
||||
line "evolves, it will"
|
||||
cont "look like this."
|
||||
prompt
|
||||
|
||||
_BeautyExplainCont::
|
||||
text "Hm? Why did I"
|
||||
line "make you catch"
|
||||
cont "the opposite"
|
||||
cont "#MON?"
|
||||
|
|
Loading…
Reference in a new issue