Post-release bugfixes: Batch 1

This commit fixes the following bugs:

- A guy in Celadon University was stuck in a tree due to being placed on the wrong tile.

- It was possible to walk out of bounds in Mt. Moon Crater due to buggy collision near the bottom of the map

- Hi Jump Kick had a slightly glitched animation

- It was possible to walk into a specific rock in both Cerulean Cave and Garnet Cavern. This was a vanilla bug too, but I'm fixing it proper now.

- There was no signpost outside Bill's Lighthouse where there should've been.

- Fixed two errors in the README

- The Fissure TM was not purchasable at the Citrine Rocket house

- Even if you had picked one of the original starters, you could still get the Charmander and Squirtle gifts as the NPCs would show up regardless.

- Trying to get the Squirtle gift with a full party and box would lock you out from getting it

- Fixed a text issue in Celadon Uni where the professor states the wrong TM

- Fixed two text issues in Silph Co
This commit is contained in:
Martha Schilling 2024-01-09 23:00:18 +00:00
parent c761e29fd9
commit 9080a74da2
17 changed files with 64 additions and 54 deletions

View file

@ -183,7 +183,7 @@ QoL Enhancements
- Running Shoes activate by holding B. Also works with the bike and Surf. - Running Shoes activate by holding B. Also works with the bike and Surf.
- Fast text has no frame delay between text scrolling, doubling the scroll speed. It's also been made the default option, so you don't need to go into the Options menu for it. - Fast text has no frame delay between text scrolling, doubling the scroll speed. It's also been made the default option, so you don't need to go into the Options menu for it.
- "Instatext" has also been made a selectable feature, courtesy of BlueZangoose. - "Instatext" has also been made a selectable feature, courtesy of BlueZangoose.
- The Old and Good Rods have been removed, and the Super Rod, now called the Fishing Rod, is obtained in Pewter City. All fishing encounter tables have been altered to roughly match the levels of the surrounding routes. - The Old and Good Rods have been removed, and the Super Rod, now called the Fishing Rod, is obtained on Route 24. All fishing encounter tables have been altered to roughly match the levels of the surrounding routes.
- The Elite Four and Champion now have improved teams in the post-game. The Elite Four will use refight text based on their LGPE appearances. - The Elite Four and Champion now have improved teams in the post-game. The Elite Four will use refight text based on their LGPE appearances.
- Plus, upon defeating the Elite Four, Legendary Pokemon encounters are reset, like in later games! - Plus, upon defeating the Elite Four, Legendary Pokemon encounters are reset, like in later games!
- Traded Pokemon ("Outsiders") can now be nicknamed at the Name Rater's House. - Traded Pokemon ("Outsiders") can now be nicknamed at the Name Rater's House.
@ -262,8 +262,9 @@ and more!
Known Bugs Known Bugs
==== ====
- Trying to teach a TM/HM twice in a row may cause a game crash, so it's advised to save when teaching moves. - Occasionally, saving and reloading in a building will cause the border tile to completely change, in some cases letting you walk out of bounds.
- Trying to Surf from the overworld on Cycling Road has an invisible textbox stopping you, but just pressing A again lets you regain control. - Trying to Surf from the overworld on Cycling Road has an invisible textbox stopping you, but just pressing A again lets you regain control.
- Jumping from a specific tile off a ledge in Cerulean City causes you to land on a fence. This is being kept in, because it's funny.
Evolution Methods for new Pokemon Evolution Methods for new Pokemon
==== ====
@ -380,7 +381,7 @@ If you use our implementations of anything at all, it is encouraged to submit Pu
* erosunica - Assistance with developing Celadon University & Citrine City, plus sources for various subjects. * erosunica - Assistance with developing Celadon University & Citrine City, plus sources for various subjects.
* Chatot4444 - Assisting with gym scaling code. * Chatot4444 - Assisting with gym scaling code.
* Enigami - Reworking the Battle Tent's RestoreTeam code to make it work properly. * Enigami - Reworking the Battle Tent's RestoreTeam code to make it work properly.
* HeadBoiSkye - Helped with writing NPC dialogue and Pokédex entries for new Pokémon such as Gyopin. * HeadBoiSkye - Helped with writing NPC dialogue and Pokédex entries for new Pokémon such as Orfry.
* ZumiIsawhat? - Restorations of prototype OST. * ZumiIsawhat? - Restorations of prototype OST.
* FrenchOrange - Reconstructions of various overworld prototype sprites. * FrenchOrange - Reconstructions of various overworld prototype sprites.
* Helix Chamber (RacieBeep & Orchid) - Prototype Pokémon sprites. Precise credits are available [here](https://cdn.discordapp.com/attachments/1014321591657709569/1015347305483878521/unknown.png) and below. * Helix Chamber (RacieBeep & Orchid) - Prototype Pokémon sprites. Precise credits are available [here](https://cdn.discordapp.com/attachments/1014321591657709569/1015347305483878521/unknown.png) and below.

View file

@ -12,7 +12,7 @@ CeladonUniversityOutside_Object:
object_event 25, 27, SPRITE_SUPER_NERD, WALK, LEFT, 2 ; trainer object_event 25, 27, SPRITE_SUPER_NERD, WALK, LEFT, 2 ; trainer
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3 ; trainer object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3 ; trainer
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4 ; trainer object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4 ; trainer
object_event 4, 27, SPRITE_FISHER, WALK, LEFT, 5 ; Original SPRITE_ROCKER replaced. Reason: maximum of 10 sprites per set object_event 10, 28, SPRITE_FISHER, WALK, LEFT, 5 ; Original SPRITE_ROCKER replaced. Reason: maximum of 10 sprites per set
object_event 33, 16, SPRITE_GIRL, WALK, DOWN, 6 ; Original SPRITE_BEAUTY replaced. Reason: same as above object_event 33, 16, SPRITE_GIRL, WALK, DOWN, 6 ; Original SPRITE_BEAUTY replaced. Reason: same as above
object_event 7, 22, SPRITE_MAGIKARP, WALK, RIGHT, 7 ; Static sprite. Reason: same as above and used the slot 11 object_event 7, 22, SPRITE_MAGIKARP, WALK, RIGHT, 7 ; Static sprite. Reason: same as above and used the slot 11
object_event 34, 25, SPRITE_MAGIKARP, WALK, LEFT, 7 ; Static sprite. Reason: same as above object_event 34, 25, SPRITE_MAGIKARP, WALK, LEFT, 7 ; Static sprite. Reason: same as above

View file

@ -2,7 +2,7 @@ MtMoonCrater_Object:
db $41 ; border block db $41 ; border block
def_warp_events def_warp_events
warp_event 46, 47, MT_MOON_B1F, 14 warp_event 46, 46, MT_MOON_B1F, 14
def_bg_events def_bg_events

View file

@ -1137,7 +1137,7 @@ HiJumpKickAnim:
battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10
battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10
battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10
battle_anim TAKE_DOWN, SUBANIM_0_STAR_ASCENDING, 1, 6 battle_anim TAKE_DOWN, SUBANIM_0_STAR_ASCENDING, 0, 8
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_SLIDE_MON_DOWN battle_anim NO_MOVE, SE_SLIDE_MON_DOWN
battle_anim NO_MOVE, SE_SHOW_MON_PIC battle_anim NO_MOVE, SE_SHOW_MON_PIC

View file

@ -1,2 +1,2 @@
"||b -}f N_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv- "||b -}f} N_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv-
 } "$  } "$

View file

@ -1 +1 @@
,--Nr02a}f D+,v "pfvvv} fXfvv^tvvtvv)   "vvvSvvvv ,--Nr02a}f D+t,v "p}fvvv} fXfvv^tvvtvv)   "vvvSvvvv

View file

@ -1,3 +1,3 @@
€š‚ "_vvvv|b<EFBFBD>†vvvv€vfm€Ś”†v€<76><E282AC>…†vvvv'„†<E2809E>Šv„ډ‰”š<E2809D>v€…†vtv<74>Š„ډŠv„•†vvv f„† <EFBFBD><> €š‚ "_vvvv|b†vvvv€vfm€Ś”†v€<76><E282AC>…†vvvv'„†<E2809E>Šv„ډ‰”š<E2809D>v€…†vtv<74>Š„ډŠv„•†vvv f„† …†€‚
^<5E><><16><><EFBFBD><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ^<5E><><16><><EFBFBD><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$ <01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$

View file

@ -1 +1 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<><6E><EFBFBD>n„…Ś‰ŹŠ<01><> „…†L <><E280B9><01>—Švv€<76><E282AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><01>v<EFBFBD>_rQ<72>ʉ‰‰”<E280B0><01>v€<76>vr„…†‡v<E280A1>‰Švv€<76><>‡vvvvvv<76>ŹŠ<01>ŹŠ<><E280B9>vvvvvL<01> <0A> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<><6E><EFBFBD>n„…Ś‰ŹŠ<01><> „…†<EFBFBD> <><E280B9><01>—Š<C5A0><EFBFBD><E282AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><01>vQ_rQ<72>ʉ‰‰”R†<01>v€<76>vr„…†‡v<E280A1>‰Švv€<76>„Q‡vvvvvv<76>ŹŠ<01>ŹŠ<><E280B9>vvvvvL<01> <0A>

View file

@ -1,5 +1,5 @@
AAAAAAAAAAAAAAAAAAAAAAAAAACEEEEEEEEEEEEEEEEEEEE?AAABbCF,5  AAAAAAAAAAAAAAAAAAAAAAAAAACEEEEEEEEEEEEEEEEEEEE?AAABbCF,5 
 DD?AABCF//  DD?AABCF//
 D@AABF9 ),@ACF,<=========>)@AB<JCEEE?AAAAK>)@AK><JCF}}DEEEE?K>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%<12>@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CF€D?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB  D@AABF9 ),@ACF,<=========>)@AB<JCEEE?AAAAK>)@AK><JCF}}DEEEE?K>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%<12>@AB @AAB@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CF€D?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB
6,DD?AB 6,DD?AB
D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF.@AB,||)DEEF,g@AK======================A D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF@AB,|||DEEF,f@AK======================A

View file

@ -4,14 +4,14 @@ n
n n
`ttt `ttt
6eCdNthitMed11eCC 6eC11hi11d11eCC
LLL LLL
nlnttnt nlnttnt
neCdPR|}~ROe-.CCLlL neCwV|}~ww-.CCLlL
mln mln
ttotttneCdUUUUUUUeCCCCCC11111ml ttotttneCdUUUUUUUeCCCCCC11111ml
mL mL
ttmtt ttmtt
@ -21,9 +21,9 @@ ttmtt
T T
eCCCCCCQQQQQQQQQQQQQQQQQ eCCCCCCQQQQQQQQQQQQQQQQQ
nteCTCdted1eCCC??????????????????;eCd nteCTCdteCCCCCC??????????????????;eCd
t t
T T
t t
e-.CCC,,,,,,,,,,,,,,,,,,)eC-x.CCCCCC,,,,,,,,,,,,,,,,,,,?????????????????? eCCCCCC,,,,,,,,,,,,,,,,,,)eC-x.CCCCCC,,,,,,,,,,,,,,,,,,,??????????????????

View file

@ -16,10 +16,10 @@ MartGuy1Text:
script_mart TM_SWORDS_DANCE, TM_WHIRLWIND, TM_TOXIC, TM_BODY_SLAM, TM_DOUBLE_EDGE, TM_BUBBLEBEAM, TM_WATER_GUN, TM_ICE_BEAM, TM_BLIZZARD, TM_HYPER_BEAM, TM_PAY_DAY, TM_COUNTER, TM_SEISMIC_TOSS, TM_RAGE script_mart TM_SWORDS_DANCE, TM_WHIRLWIND, TM_TOXIC, TM_BODY_SLAM, TM_DOUBLE_EDGE, TM_BUBBLEBEAM, TM_WATER_GUN, TM_ICE_BEAM, TM_BLIZZARD, TM_HYPER_BEAM, TM_PAY_DAY, TM_COUNTER, TM_SEISMIC_TOSS, TM_RAGE
MartGuy2Text: MartGuy2Text:
script_mart TM_MEGA_DRAIN, TM_SOLARBEAM, TM_DRAGON_RAGE, TM_THUNDERBOLT, TM_THUNDER, TM_EARTHQUAKE, TM_DIG, TM_PSYCHIC_M, TM_TELEPORT, TM_MIMIC, TM_BIDE, TM_METRONOME, TM_SELFDESTRUCT, TM_FIRE_BLAST script_mart TM_MEGA_DRAIN, TM_SOLARBEAM, TM_DRAGON_RAGE, TM_THUNDERBOLT, TM_THUNDER, TM_EARTHQUAKE, TM_FISSURE, TM_DIG, TM_PSYCHIC_M, TM_TELEPORT, TM_MIMIC, TM_BIDE, TM_METRONOME, TM_SELFDESTRUCT
MartGuy3Text: MartGuy3Text:
script_mart TM_SWIFT, TM_SKULL_BASH, TM_SOFTBOILED, TM_DREAM_EATER, TM_SKY_ATTACK, TM_REST, TM_THUNDER_WAVE, TM_PSYWAVE, TM_EXPLOSION, TM_ROCK_SLIDE, TM_TRI_ATTACK, TM_SUBSTITUTE script_mart TM_FIRE_BLAST, TM_SWIFT, TM_SKULL_BASH, TM_SOFTBOILED, TM_DREAM_EATER, TM_SKY_ATTACK, TM_REST, TM_THUNDER_WAVE, TM_PSYWAVE, TM_EXPLOSION, TM_ROCK_SLIDE, TM_TRI_ATTACK, TM_SUBSTITUTE
MartGuy4Text: MartGuy4Text:
script_mart PROTECTOR, UP_GRADE, DUBIOUS_DISC, METAL_COAT, BLK_AUGURITE, DOME_FOSSIL, HELIX_FOSSIL, WING_FOSSIL, OLD_AMBER script_mart PROTECTOR, UP_GRADE, DUBIOUS_DISC, METAL_COAT, BLK_AUGURITE, DOME_FOSSIL, HELIX_FOSSIL, WING_FOSSIL, OLD_AMBER

View file

@ -365,9 +365,21 @@ OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite.
cp $7 cp $7
jr nz, .rivalDidNotChoseBall4 jr nz, .rivalDidNotChoseBall4
ld a, HS_STARTER_BALL_4 ld a, HS_STARTER_BALL_4
ld a, HS_DAMIEN ; This makes the starter gifts show up if you and your rival picked Pikachu and Eevee. It used to be coded differently but for some reason they still showed up if you picked Charmander or Squirtle, so I had to change it.
ld [wMissableObjectIndex], a
predef ShowObject
ld a, HS_VERMILION_JENNY
ld [wMissableObjectIndex], a
predef ShowObject
jr .hideBallAndContinue jr .hideBallAndContinue
.rivalDidNotChoseBall4 .rivalDidNotChoseBall4
ld a, HS_STARTER_BALL_5 ld a, HS_STARTER_BALL_5
ld a, HS_DAMIEN
ld [wMissableObjectIndex], a
predef ShowObject
ld a, HS_VERMILION_JENNY
ld [wMissableObjectIndex], a
predef ShowObject
jr .hideBallAndContinue jr .hideBallAndContinue
.hideBallAndContinue .hideBallAndContinue
ld [wMissableObjectIndex], a ld [wMissableObjectIndex], a
@ -914,7 +926,6 @@ OaksLabText4:
; $6 = Eevee ; $6 = Eevee
OaksLabTextPikachu: OaksLabTextPikachu:
text_asm text_asm
call PikachuEeveeMode
ld a, STARTER5 ld a, STARTER5
ld [wRivalStarterTemp], a ld [wRivalStarterTemp], a
ld a, $8 ld a, $8
@ -925,7 +936,6 @@ OaksLabTextPikachu:
OaksLabTextEevee: OaksLabTextEevee:
text_asm text_asm
call PikachuEeveeMode
ld a, STARTER4 ld a, STARTER4
ld [wRivalStarterTemp], a ld [wRivalStarterTemp], a
ld a, $7 ld a, $7
@ -1377,26 +1387,6 @@ OaksLabText_1d405:
text_far _OaksLabText_1d405 text_far _OaksLabText_1d405
text_end text_end
; This is used to display Damien and Officer Jenny for Charmander and Squirtle, respectively.
; It was set up in this way to easily add new things for the mode.
; By default, all Pikachu/Eevee Mode things are hidden - more efficient.
PikachuEeveeMode:
ld hl, PikachuEeveeShows
.loop
ld a, [hli]
cp -1
ret z
push hl
ld [wMissableObjectIndex], a
predef ShowObject
pop hl
jr .loop
PikachuEeveeShows:
db HS_DAMIEN ; Charmander guy
db HS_VERMILION_JENNY ; Squirtle
db -1 ; end
; Moved here to turn into a new bg event ; Moved here to turn into a new bg event
OakLabEmailText: OakLabEmailText:
text_asm text_asm

View file

@ -287,6 +287,7 @@ OfficerJennySquirtle:
ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld [wDoNotWaitForButtonPressAfterDisplayingText], a
lb bc, SQUIRTLE, 16 lb bc, SQUIRTLE, 16
call GivePokemon call GivePokemon
jp nc, .fullParty
ld a, [wAddedToParty] ld a, [wAddedToParty]
and a and a
call z, WaitForTextScrollButtonPress call z, WaitForTextScrollButtonPress
@ -303,6 +304,14 @@ OfficerJennySquirtle:
.noBadge .noBadge
ld hl, OfficerJennyNoBadge ld hl, OfficerJennyNoBadge
jr .done jr .done
.fullParty
ld hl, JennyFullParty
call PrintText
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
and a ; yep, here too.
call z, WaitForTextScrollButtonPress ; and here.
call EnableAutoTextBoxDrawing ; and here.
; falls through to the next quote.
.refuse .refuse
ld hl, OfficerJennyRefuse ld hl, OfficerJennyRefuse
; fallthrough ; fallthrough
@ -331,6 +340,10 @@ OfficerJennyHowDoing:
text_far _OfficerJennyText5 text_far _OfficerJennyText5
text_end text_end
JennyFullParty:
text_far _JennyFullParty
text_end
EventVermillionCitySSTicket: EventVermillionCitySSTicket:
text_far _SSAnneFlashedTicketText text_far _SSAnneFlashedTicketText
text_end text_end

View file

@ -117,7 +117,7 @@ _ReceivedTM23Text::
text_end text_end
_TM23ExplanationText:: _TM23ExplanationText::
text "TM29 is DRAGON" text "TM23 is DRAGON"
line "RAGE!" line "RAGE!"
para "Use it against" para "Use it against"

View file

@ -4,7 +4,7 @@ _SilphCo5EndBattleText4::
prompt prompt
_SilphCo5AfterBattleText4:: _SilphCo5AfterBattleText4::
text "You're only on 5F." text "You're only on 3F."
line "It's a long way" line "It's a long way"
cont "to my BOSS!" cont "to my BOSS!"
done done
@ -53,8 +53,9 @@ _SilphCo5Text11::
line "only when traded" line "only when traded"
cont "by link-cable." cont "by link-cable."
para "Further testing is" ; changed due to increased number of new trade evos para "Further testing" ; changed due to increased number of new trade evos
line "needed to discover" line "will be needed to"
cont "more species that" cont "discover any more"
cont "species that"
cont "evolve this way." cont "evolve this way."
done done

View file

@ -113,19 +113,19 @@ _SilphCo7AfterBattleText2::
done done
_SilphCo7BattleText3:: _SilphCo7BattleText3::
text "I am one of the 4" text "TEAM ROCKET has"
line "ROCKET BROTHERS!" line "taken command of"
cont "SILPH CO.!"
done done
_SilphCo7EndBattleText3:: _SilphCo7EndBattleText3::
text "Aack!" text "Arrgh!"
line "Brothers, I lost!"
prompt prompt
_SilphCo7AfterBattleText3:: _SilphCo7AfterBattleText3::
text "Doesn't matter." text "Fwahahaha!"
line "My brothers will" line "My BOSS has been"
cont "repay the favor!" cont "after this place!"
done done
_SilphCo7BattleText4:: _SilphCo7BattleText4::

View file

@ -215,6 +215,11 @@ _OfficerJennyText3::
line "SQUIRTLE right!@" line "SQUIRTLE right!@"
text_end text_end
_JennyFullParty::
text "Your PARTY is"
line "full, though!"
done
_OfficerJennyText4:: _OfficerJennyText4::
text "Oh... What am I" text "Oh... What am I"
line "to do now?" line "to do now?"