diff --git a/README.md b/README.md index e963eeb9..50b8d0ac 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ QoL Enhancements - 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. - "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. - 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. @@ -262,8 +262,9 @@ and more! 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. +- 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 ==== @@ -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. * Chatot4444 - Assisting with gym scaling code. * 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. * 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. diff --git a/data/maps/objects/CeladonUniversityOutside.asm b/data/maps/objects/CeladonUniversityOutside.asm index 78d8b7c6..2a023daf 100644 --- a/data/maps/objects/CeladonUniversityOutside.asm +++ b/data/maps/objects/CeladonUniversityOutside.asm @@ -12,7 +12,7 @@ CeladonUniversityOutside_Object: object_event 25, 27, SPRITE_SUPER_NERD, WALK, LEFT, 2 ; trainer object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3 ; 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 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 diff --git a/data/maps/objects/MtMoonCrater.asm b/data/maps/objects/MtMoonCrater.asm index 6fa16f4e..3b4ee60e 100644 --- a/data/maps/objects/MtMoonCrater.asm +++ b/data/maps/objects/MtMoonCrater.asm @@ -2,7 +2,7 @@ MtMoonCrater_Object: db $41 ; border block def_warp_events - warp_event 46, 47, MT_MOON_B1F, 14 + warp_event 46, 46, MT_MOON_B1F, 14 def_bg_events diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 6814fa90..b412a464 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -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 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_SLIDE_MON_DOWN battle_anim NO_MOVE, SE_SHOW_MON_PIC diff --git a/maps/CeruleanCave1F.blk b/maps/CeruleanCave1F.blk index 574613af..93757167 100644 --- a/maps/CeruleanCave1F.blk +++ b/maps/CeruleanCave1F.blk @@ -1,2 +1,2 @@ - "||b -}f N_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv- + "||b -}f} N_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv-  } "$ \ No newline at end of file diff --git a/maps/CeruleanCaveB1F.blk b/maps/CeruleanCaveB1F.blk index 858f0529..1c80a996 100644 --- a/maps/CeruleanCaveB1F.blk +++ b/maps/CeruleanCaveB1F.blk @@ -1 +1 @@ -,--Nr02a}f D+,v "pfvvv} fXfvv^tvvtvv)   "vvvSvvvv \ No newline at end of file +,--Nr02a}f D+t,v "p}fvvv} fXfvv^tvvtvv)   "vvvSvvvv \ No newline at end of file diff --git a/maps/GarnetCavern1F.blk b/maps/GarnetCavern1F.blk index a1d9d71b..f03d9e21 100644 --- a/maps/GarnetCavern1F.blk +++ b/maps/GarnetCavern1F.blk @@ -1,3 +1,3 @@ - "_vvvv|bvvvvvfmvvvvv'vvvtvvvvv f  + "_vvvv|bvvvvvfmvvvvv'vvvtvvvvv f  ^ $ \ No newline at end of file diff --git a/maps/GarnetCavernB1F.blk b/maps/GarnetCavernB1F.blk index 49830772..ebe64ce2 100644 --- a/maps/GarnetCavernB1F.blk +++ b/maps/GarnetCavernB1F.blk @@ -1 +1 @@ -nn L vvv_rQvvrvvvvvvvvvvvvvvL \ No newline at end of file +nn  vQ_rQRvvrvvvQvvvvvvvvvvvL \ No newline at end of file diff --git a/maps/MtMoonCrater.blk b/maps/MtMoonCrater.blk index 48108764..2fd45ae6 100644 --- a/maps/MtMoonCrater.blk +++ b/maps/MtMoonCrater.blk @@ -1,5 +1,5 @@ AAAAAAAAAAAAAAAAAAAAAAAAAACEEEEEEEEEEEEEEEEEEEE?AAABbCF,5   DD?AABCF// - D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CFD?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB + D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%@AB @AAB@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CFD?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB 6,DD?AB - D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF.@AB,||)DEEF,g@AK======================A \ No newline at end of file + D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF@AB,|||DEEF,f@AK======================A \ No newline at end of file diff --git a/maps/Route25.blk b/maps/Route25.blk index 4a4ea99b..1aa97f11 100644 --- a/maps/Route25.blk +++ b/maps/Route25.blk @@ -4,14 +4,14 @@ n n `ttt -6eCdNthitMed11eCC +6eC11hi11d11eCC LLL nlnttnt -neCdPR|}~ROe-.CCLlL +neCwV|}~ww-.CCLlL mln -ttotttneCdUUUUUUUeCCCCCC11111ml +ttotttneCdUUUUUUUeCCCCCC11111ml mL ttmtt @@ -21,9 +21,9 @@ ttmtt T -eCCCCCCQQQQQQQQQQQQQQQQQ -nteCTCdted1eCCC??????????????????;eCd +eCCCCCCQQQQQQQQQQQQQQQQQ +nteCTCdteCCCCCC??????????????????;eCd t T t -e-.CCC,,,,,,,,,,,,,,,,,,)eC-x.CCCCCC,,,,,,,,,,,,,,,,,,,?????????????????? \ No newline at end of file +eCCCCCC,,,,,,,,,,,,,,,,,,)eC-x.CCCCCC,,,,,,,,,,,,,,,,,,,?????????????????? \ No newline at end of file diff --git a/scripts/CitrineRocketHouse.asm b/scripts/CitrineRocketHouse.asm index f566e945..2b63bc9f 100644 --- a/scripts/CitrineRocketHouse.asm +++ b/scripts/CitrineRocketHouse.asm @@ -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 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: - 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: script_mart PROTECTOR, UP_GRADE, DUBIOUS_DISC, METAL_COAT, BLK_AUGURITE, DOME_FOSSIL, HELIX_FOSSIL, WING_FOSSIL, OLD_AMBER diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index e820cc45..22529687 100644 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -365,9 +365,21 @@ OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite. cp $7 jr nz, .rivalDidNotChoseBall4 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 .rivalDidNotChoseBall4 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 .hideBallAndContinue ld [wMissableObjectIndex], a @@ -914,7 +926,6 @@ OaksLabText4: ; $6 = Eevee OaksLabTextPikachu: text_asm - call PikachuEeveeMode ld a, STARTER5 ld [wRivalStarterTemp], a ld a, $8 @@ -925,7 +936,6 @@ OaksLabTextPikachu: OaksLabTextEevee: text_asm - call PikachuEeveeMode ld a, STARTER4 ld [wRivalStarterTemp], a ld a, $7 @@ -1377,26 +1387,6 @@ OaksLabText_1d405: text_far _OaksLabText_1d405 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 OakLabEmailText: text_asm diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm index 9754a2a7..50cbdc9a 100644 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -287,6 +287,7 @@ OfficerJennySquirtle: ld [wDoNotWaitForButtonPressAfterDisplayingText], a lb bc, SQUIRTLE, 16 call GivePokemon + jp nc, .fullParty ld a, [wAddedToParty] and a call z, WaitForTextScrollButtonPress @@ -303,6 +304,14 @@ OfficerJennySquirtle: .noBadge ld hl, OfficerJennyNoBadge 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 ld hl, OfficerJennyRefuse ; fallthrough @@ -331,6 +340,10 @@ OfficerJennyHowDoing: text_far _OfficerJennyText5 text_end +JennyFullParty: + text_far _JennyFullParty + text_end + EventVermillionCitySSTicket: text_far _SSAnneFlashedTicketText text_end diff --git a/text/CeladonUniversityInside.asm b/text/CeladonUniversityInside.asm index e795b68e..1b4c94d6 100644 --- a/text/CeladonUniversityInside.asm +++ b/text/CeladonUniversityInside.asm @@ -117,7 +117,7 @@ _ReceivedTM23Text:: text_end _TM23ExplanationText:: - text "TM29 is DRAGON" + text "TM23 is DRAGON" line "RAGE!" para "Use it against" diff --git a/text/SilphCo5F_2.asm b/text/SilphCo5F_2.asm index 8f059264..6fb57e8c 100644 --- a/text/SilphCo5F_2.asm +++ b/text/SilphCo5F_2.asm @@ -4,7 +4,7 @@ _SilphCo5EndBattleText4:: prompt _SilphCo5AfterBattleText4:: - text "You're only on 5F." + text "You're only on 3F." line "It's a long way" cont "to my BOSS!" done @@ -53,8 +53,9 @@ _SilphCo5Text11:: line "only when traded" cont "by link-cable." - para "Further testing is" ; changed due to increased number of new trade evos - line "needed to discover" - cont "more species that" + para "Further testing" ; changed due to increased number of new trade evos + line "will be needed to" + cont "discover any more" + cont "species that" cont "evolve this way." done diff --git a/text/SilphCo7F.asm b/text/SilphCo7F.asm index 7638f752..a4ece4eb 100644 --- a/text/SilphCo7F.asm +++ b/text/SilphCo7F.asm @@ -113,19 +113,19 @@ _SilphCo7AfterBattleText2:: done _SilphCo7BattleText3:: - text "I am one of the 4" - line "ROCKET BROTHERS!" + text "TEAM ROCKET has" + line "taken command of" + cont "SILPH CO.!" done _SilphCo7EndBattleText3:: - text "Aack!" - line "Brothers, I lost!" + text "Arrgh!" prompt _SilphCo7AfterBattleText3:: - text "Doesn't matter." - line "My brothers will" - cont "repay the favor!" + text "Fwahahaha!" + line "My BOSS has been" + cont "after this place!" done _SilphCo7BattleText4:: diff --git a/text/VermilionCity.asm b/text/VermilionCity.asm index fc89427f..16588801 100644 --- a/text/VermilionCity.asm +++ b/text/VermilionCity.asm @@ -215,6 +215,11 @@ _OfficerJennyText3:: line "SQUIRTLE right!@" text_end +_JennyFullParty:: + text "Your PARTY is" + line "full, though!" + done + _OfficerJennyText4:: text "Oh... What am I" line "to do now?"