diff --git a/README.md b/README.md index 128191ea..0412e857 100644 --- a/README.md +++ b/README.md @@ -385,12 +385,12 @@ If you use our implementations of anything at all, it is encouraged to submit Pu * 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. * Vortiene/Vortyne - Reused a bit of code from their pureRGB hack, including their Trainer AI, move animations and Pokedex stats page. Assisted in bug fixes. Used their sprite sheet generator. +* wrulfy - Reused a bit of code from their Carmine Red hack to improve a handful of move animations, most notably Drill Peck and Horn Drill. Technical advice. * Pigu-A, RevoSucks, walle303 - Contributors to Pokemon Anniversary Red's repository, where we reused the Green/FemC sprites and the Battle Tent. * Rangi - Reused a bit of code from their Red* / Blue* hack to make HMs usable in the overworld, and generally being an amazing individual. * BGVC - Composed the original 4-channel version of the unused Koukan (trading) music. * Rainbow Metal Pigeon - Bug fix relating to Gym Leader rematches. * SatoMew - Technical advice. -* wrulfy - Technical advice. * suloku - Technical advice regarding setting where you spawn after beating the Elite Four, Exp. All modernisation code * 大吟醸 (Daiginjo) - Assistance in translating the Tamamushi University Student Book, allowing for an accurate adaptation of the location. * Molk - Balancing of some prototype Pokemon, most notably Ramoose. diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 52ef9732..dd48672d 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -207,6 +207,7 @@ const EVENT_GAVE_FOSSIL_TO_LAB const EVENT_LAB_STILL_REVIVING_FOSSIL const EVENT_LAB_HANDING_OVER_FOSSIL_MON + const EVENT_GOT_POCKET_LAPRAS ; Saffron City events const_next $340 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 32accfff..9e4046eb 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -13,7 +13,7 @@ const POKE_BALL ; $04 const TOWN_MAP ; $05 const BICYCLE ; $06 - const SURFBOARD ; $07 buggy? + const POCKET_LAPRAS ; $07 const SAFARI_BALL ; $08 const POKEDEX ; $09 const MOON_STONE ; $0A diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index a16cdaff..e5fab018 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -144,6 +144,7 @@ DEF FIRST_SE_ID EQU const_value const SUBANIM_0_PIN_JAB const SUBANIM_0_PIN_MISSILE const SUBANIM_0_BARB_JAB + const SUBANIM_DRILL_ROTATE DEF NUM_SUBANIMS EQU const_value ; types of subanimations diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 9952cb2b..f4a2ce00 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -95,6 +95,7 @@ SubanimationPointers: dw Subanim_0PinJab dw Subanim_0PinMissile dw Subanim_0BarbJab + dw Subanim_DrillRotate assert_table_length NUM_SUBANIMS ; format: @@ -1023,4 +1024,13 @@ Subanim_0BarbJab: db FRAMEBLOCK_6D, BASECOORD_23, FRAMEBLOCKMODE_02 db FRAMEBLOCK_6D, BASECOORD_21, FRAMEBLOCKMODE_02 - +Subanim_DrillRotate: + subanim SUBANIMTYPE_HFLIP, 8 + db FRAMEBLOCK_30, BASECOORD_11, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_19, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_1D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_17, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_11, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_19, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_1D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_17, FRAMEBLOCKMODE_00 diff --git a/data/items/key_items.asm b/data/items/key_items.asm index 2eae83b1..bc07d1b8 100644 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -6,7 +6,7 @@ KeyItemFlags: dbit FALSE ; POKE_BALL dbit TRUE ; TOWN_MAP dbit TRUE ; BICYCLE - dbit TRUE ; SURFBOARD + dbit TRUE ; POCKET_LAPRAS dbit FALSE ; SAFARI_BALL dbit TRUE ; POKEDEX dbit FALSE ; MOON_STONE diff --git a/data/items/names.asm b/data/items/names.asm index 8f5689d8..ed5da598 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -6,7 +6,7 @@ ItemNames:: li "POKé BALL" li "TOWN MAP" li "BICYCLE" - li "LAPRAS' BALL" ; surfboard, ?????, etc. + li "LAPRAS' BALL" ; Pocket Lapras li "SAFARI BALL" li "POKéDEX" li "MOON STONE" diff --git a/data/items/prices.asm b/data/items/prices.asm index 115682c7..e0d13683 100644 --- a/data/items/prices.asm +++ b/data/items/prices.asm @@ -6,7 +6,7 @@ ItemPrices:: bcd3 200 ; POKE_BALL bcd3 0 ; TOWN_MAP bcd3 0 ; BICYCLE - bcd3 0 ; SURFBOARD + bcd3 0 ; POCKET_LAPRAS bcd3 1000 ; SAFARI_BALL bcd3 0 ; POKEDEX bcd3 0 ; MOON_STONE diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 66dc0c0a..2b2f3bae 100644 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -10,14 +10,15 @@ CinnabarIsland_Object: warp_event 14, 11, CINNABAR_VOLCANO_FLOORS, 1 def_bg_events - bg_event 11, 15, 3 ; CinnabarIslandText3 - bg_event 22, 19, 4 ; MartSignText - bg_event 16, 17, 5 ; PokeCenterSignText - bg_event 9, 23, 6 ; CinnabarIslandText6 - bg_event 23, 13, 7 ; CinnabarIslandText7 + bg_event 11, 15, 4 ; CinnabarIslandText3 + bg_event 22, 19, 5 ; MartSignText + bg_event 16, 17, 6 ; PokeCenterSignText + bg_event 9, 23, 7 ; CinnabarIslandText6 + bg_event 23, 13, 8 ; CinnabarIslandText7 def_object_events object_event 11, 18, SPRITE_GIRL, WALK, LEFT_RIGHT, 1 ; person object_event 17, 20, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 25, 18, SPRITE_COOLTRAINER_M, WALK, UP_DOWN, 3 ; Pocket Lapras def_warps_to CINNABAR_ISLAND diff --git a/data/moves/animations.asm b/data/moves/animations.asm index b412a464..5a6ec261 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -261,8 +261,7 @@ PoundAnim: db -1 ; end StruggleAnim: - battle_anim AMNESIA, SE_SHAKE_BACK_AND_FORTH - battle_anim NO_MOVE, SE_RESET_MON_POSITION + battle_anim SPLASH, SE_BOUNCE_UP_AND_DOWN battle_anim POUND, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end @@ -376,7 +375,9 @@ BindAnim: db -1 ; end SlamAnim: - battle_anim SLAM, SUBANIM_0_STAR_THRICE, 0, 6 + battle_anim SLAM, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_RESET_MON_POSITION + battle_anim NO_MOVE, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end VineWhipAnim: @@ -394,18 +395,21 @@ DoubleKickAnim: db -1 ; end MegaKickAnim: - battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE - battle_anim MEGA_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim LEECH_SEED, SE_SLIDE_MON_HALF_OFF + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_RESET_MON_POSITION + battle_anim MEGA_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 8 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end JumpKickAnim: - battle_anim NO_MOVE, SE_SLIDE_MON_DOWN - battle_anim BUBBLE, SE_SHOW_MON_PIC + battle_anim MEDITATE, SE_SLIDE_MON_DOWN battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 - battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 - battle_anim JUMP_KICK, SUBANIM_0_STAR_ASCENDING, 0, 8 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + battle_anim NO_MOVE, SE_MOVE_MON_HORIZONTALLY + battle_anim JUMP_KICK, SUBANIM_0_STAR_ASCENDING, 0, 6 + battle_anim NO_MOVE, SE_RESET_MON_POSITION db -1 ; end RollingKickAnim: @@ -435,11 +439,13 @@ FuryAttackAnim: db -1 ; end HornDrillAnim: - battle_anim HORN_DRILL, SUBANIM_1_STAR_BIG, 1, 2 - battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 - battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 - battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 - battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 + battle_anim EXPLOSION, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SE_MOVE_MON_HORIZONTALLY + battle_anim HORN_DRILL, SUBANIM_DRILL_ROTATE, 0, 1 + battle_anim HORN_DRILL, SUBANIM_DRILL_ROTATE, 0, 2 + battle_anim HORN_DRILL, SUBANIM_DRILL_ROTATE, 0, 3 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_RESET_MON_POSITION db -1 ; end TackleAnim: @@ -550,7 +556,9 @@ SingAnim: db -1 ; end SupersonicAnim: - battle_anim SUPERSONIC, SUBANIM_0_SOUND_WAVE, 0, 6 + battle_anim SUPERSONIC, SUBANIM_0_SOUND_WAVE, 0, 4 + battle_anim AMNESIA, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 2 + battle_anim AMNESIA, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 4 db -1 ; end SonicBoomAnim: @@ -647,8 +655,9 @@ AuroraBeamAnim: HyperBeamAnim: battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD - battle_anim HYPER_BEAM, SUBANIM_0_BEAM, 0, 2 + battle_anim HYPER_BEAM, SUBANIM_0_BEAM, 0, 4 battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim NO_MOVE, SE_SHAKE_SCREEN battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -657,7 +666,8 @@ PeckAnim: db -1 ; end DrillPeckAnim: - battle_anim DRILL_PECK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim DRILL_PECK, SUBANIM_DRILL_ROTATE, 0, 3 + battle_anim DRILL_PECK, SUBANIM_DRILL_ROTATE, 0, 3 db -1 ; end SubmissionAnim: @@ -757,8 +767,12 @@ RazorLeafAnim: db -1 ; end SolarBeamAnim: + battle_anim GROWTH, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD battle_anim SOLARBEAM, SUBANIM_0_BEAM, 0, 6 - battle_anim NO_MOVE, SUBANIM_0_STAR_TWICE, 0, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end PoisonPowderAnim: @@ -960,9 +974,6 @@ SmokeScreenAnim: 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 NO_MOVE, SE_DARKEN_MON_PALETTE battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE @@ -971,6 +982,8 @@ SmokeScreenAnim: ConfuseRayAnim: battle_anim CONFUSE_RAY, SE_DARK_SCREEN_PALETTE battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_TOSS, 1, 6 + battle_anim AMNESIA, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 2 + battle_anim AMNESIA, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 4 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -1094,7 +1107,10 @@ SwiftAnim: db -1 ; end SkullBashAnim: - battle_anim SKULL_BASH, SUBANIM_1_STAR_BIG, 1, 6 + battle_anim TACKLE, SE_MOVE_MON_HORIZONTALLY + battle_anim SKULL_BASH, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim NO_MOVE, SE_SHAKE_SCREEN + battle_anim NO_MOVE, SE_RESET_MON_POSITION db -1 ; end SpikeCannonAnim: @@ -1136,7 +1152,6 @@ HiJumpKickAnim: battle_anim HI_JUMP_KICK, SE_SHOOT_BALLS_UPWARD 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, 0, 8 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_SLIDE_MON_DOWN @@ -1217,8 +1232,10 @@ FlashAnim: DazzleGleamAnim: battle_anim GLARE, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim DOUBLE_TEAM, SE_WAVY_SCREEN + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end PsywaveAnim: @@ -1231,7 +1248,12 @@ SplashAnim: db -1 ; end AcidArmorAnim: - battle_anim ACID_ARMOR, SE_SLIDE_MON_DOWN_AND_HIDE + battle_anim ACID_ARMOR, SE_SLIDE_MON_DOWN + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim HARDEN, SUBANIM_1_BARRIER, 1, 4 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end CrabHammerAnim: diff --git a/data/pokemon/title_mons.asm b/data/pokemon/title_mons.asm index 08a7b64f..5142abb5 100644 --- a/data/pokemon/title_mons.asm +++ b/data/pokemon/title_mons.asm @@ -1,5 +1,7 @@ TitleMons: ; mons on the title screen are randomly chosen from here + db SCREAM_TAIL ; Mascots + db SANDY_SHOCKS db TOTARTLE ; New Starters db GOROCHU db SYLVEON @@ -9,10 +11,8 @@ TitleMons: db BELLIGNAN ; GS Betas db LUXWAN db PORYGON2 ; Post-Gen 1 Evos - db MAGNEZONE - db ANNIHILAPE - db SCREAM_TAIL ; LGPE and SV - db WUGTRIO - db MELTAN - db EXEGGUTOR_A ; Regional Variants + db TANGROWTH + db ANNIHILAPE + db EXEGGUTOR_A ; Regional Variants & Convergents db TAUROS_PB + db WUGTRIO diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index eba3a0e4..1f0e290f 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -39,6 +39,7 @@ PredefPointers:: add_predef LearnMoveFromLevelUp add_predef LearnMove add_predef GetQuantityOfItemInBag + add_predef GetIndexOfItemInBag add_predef CheckForHiddenObjectOrBookshelfOrCardKeyDoor, $03 ; home bank add_predef GiveItem, $03 ; home bank add_predef ChangeBGPalColor0_4Frames diff --git a/data/text/item_descriptions.asm b/data/text/item_descriptions.asm index 45b19468..c2b12667 100644 --- a/data/text/item_descriptions.asm +++ b/data/text/item_descriptions.asm @@ -12,8 +12,8 @@ _UltraBallDescription:: prompt _GreatBallDescription:: - text "A BALL with a de-" - next "cent success rate." + text "A BALL with a good" + next "success rate." prompt _PokeBallDescription:: @@ -31,6 +31,11 @@ _BicycleDescription:: next "for travel." prompt +_PocketLaprasDescription:: + text "A LAPRAS that lets" + next "you cross water." + prompt + _SafariBallDescription:: text "Just an ULTRA BALL" next "painted green." @@ -110,7 +115,7 @@ _EscapeRopeDescription:: _RepelDescription:: text "Repels weak #-" - next "MON for 100 steps." + next "MON. (100 steps)" prompt _OldAmberDescription:: @@ -205,18 +210,18 @@ _MaxReviveDescription:: prompt _GuardSpecDescription:: - text "Prevents stats" - next "reduction. (1 BTL)" + text "Prevents stat re-" + next "duction. (1 BTL)" prompt _SuperRepelDescription:: text "Repels weak #-" - next "MON for 200 steps." + next "MON. (200 steps)" prompt _MaxRepelDescription:: text "Repels weak #-" - next "MON for 250 steps." + next "MON. (250 steps)" prompt _DireHitDescription:: @@ -281,7 +286,7 @@ _OaksParcelDescription:: _ItemfinderDescription:: text "Checks for unseen" - next "items in the area." + next "items nearby." prompt _SilphScopeDescription:: @@ -340,8 +345,8 @@ _ElixerDescription:: prompt _MaxElixerDescription:: - text "Fully restores the" - next "PP of one #MON." + text "Fully restores PP" + next "of all moves." prompt _CitrinePassDescription:: @@ -380,13 +385,13 @@ _HM02Description:: prompt _HM03Description:: - text "A strong water-" + text "A strong WATER-" next "type attack." prompt _HM04Description:: - text "A powerful physi-" - next "cal attack." + text "A strong physical" + next "attack." prompt _HM05Description:: @@ -420,12 +425,12 @@ _TM05Description:: prompt _TM06Description:: - text "A poison move with" - next "increasing damage." + text "A POISON move with" + next "rising damage." prompt _TM07Description:: - text "A one-hit KO," + text "A one-hit KO" next "drill attack." prompt @@ -475,8 +480,8 @@ _TM16Description:: prompt _TM17Description:: - text "An attack that al-" - next "so hurts the user." + text "A move that also" + next "hurts the user." prompt _TM18Description:: @@ -520,13 +525,13 @@ _TM25Description:: prompt _TM26Description:: - text "Tough but useless" - next "vs. flying foes." + text "Tough, but useless" + next "vs. FLYING foes." prompt _TM27Description:: - text "A GROUND-type," - next "one-hit KO attack." + text "A one-hit KO" + next "GROUND attack." prompt _TM28Description:: @@ -595,8 +600,8 @@ _TM40Description:: prompt _TM41Description:: - text "Restores HP by 1/2" - next "the user's max HP." + text "Restores 1/2 the" + next "user's max HP." prompt _TM42Description:: @@ -615,8 +620,8 @@ _TM44Description:: prompt _TM45Description:: - text "A move that may" - next "cause paralysis." + text "A move that will" + next "paralyze a foe." prompt _TM46Description:: @@ -640,8 +645,8 @@ _TM49Description:: prompt _TM50Description:: - text "Makes a decoy with" - next "1/4 user's max HP." + text "Uses 1/4 max HP" + next "to make a decoy." prompt _UnusedItemDescription:: diff --git a/data/text/text_4.asm b/data/text/text_4.asm index 39c7ab91..415c5192 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -20,6 +20,10 @@ _PlayerBlackedOutText:: _RepelWoreOffText:: text "REPEL's effect" line "wore off." + prompt + +_RepelUseAnotherText:: + text "Use another?" done _PokemartBuyingGreetingText:: @@ -229,3 +233,18 @@ ENDC line "your friend and" cont "come again!" done + +_SortItemsText:: + text "Would you like to" + next "sort items?" + done + +_SortComplete:: + text "Sorting is" + next "complete!" + prompt + +_NothingToSort:: + text "There are no items" + next "to sort." + prompt diff --git a/data/tilesets/escape_rope_tilesets.asm b/data/tilesets/escape_rope_tilesets.asm index c2c17390..a3eadf77 100644 --- a/data/tilesets/escape_rope_tilesets.asm +++ b/data/tilesets/escape_rope_tilesets.asm @@ -1,5 +1,6 @@ EscapeRopeTilesets: db FOREST + db SHIP db CEMETERY db CAVERN db FACILITY diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index cf9b89f4..b8f6e0ec 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -159,7 +159,7 @@ SailorData: ; Vermilion Gym db 21, KOTORA, GAOTORA, 0 ; Silph Gauntlet 3F (S.S Anne) - db 58, KINGDRA, MACHAMP, GOROCHU, STARMIE, POLIWRATH, TENTACRUEL, 0 + db 58, CROAKOZUNA, MACHAMP, GOROCHU, STARMIE, POLIWRATH, TENTACRUEL, 0 ; One of the most varied trainers in the game. No criticisms. JrTrainerMData: @@ -232,11 +232,11 @@ PokemaniacData: db 22, CHARMANDER, CUBONE, 0 db 23, GAVILLAIN, 0 ; Victory Road 2F - db 40, MINISTARE, LAPRAS, LICKILICKY, RHYDON, 0 + db 47, MINISTARE, LAPRAS, LICKILICKY, RHYDON, 0 ; Rock Tunnel 1F db 23, CUBONE, SLOWPOKE, 0 ; Silph Gauntlet 2F (Mt. Moon) - db 57, GUARDIA, SLOWKING, CHARIZARD, STEELIX, LICKILICKY, RHYPERIOR, 0 + db 57, GUARDIA, SLOWKING, CHARIZARD, STEELIX, LICKILICKY, RHYDON, 0 ; The Super Nerd has some weird choices, but I think they're mostly inorganic Pokemon, except for Fire-types that the Cinnabar Gym Trainers use. SuperNerdData: @@ -248,16 +248,19 @@ SuperNerdData: db 20, GRIMER, KOFFING, KOFFING, MAGNEMITE, 0 db 22, VOLTORB, KOFFING, MAGNETITE, 0 db 26, ELECTRODE, 0 -; Unused - both now used in Celadon University +; Celadon University db 30, PORYGON, 0 ; db 25, GRIMER, KOFFING, KABUTO, OMANYTE, 0 ; ; Silph Gauntlet 2F (Mt. Moon) - db 57, ELECTRODE, MUK, KABUTOPS, OMASTAR, MAGNEZONE, PORYGONZ, 0 + db 57, ELECTRODE, MUK, KABUTOPS, OMASTAR, MAGNEZONE, PORYGON2, 0 ; Cinnabar Gym db 36, VULPIX, NINETALES, CHARIZARD, 0 db 34, PONYTA, CHARMANDER, RAPIDASH, ARCANINE, 0 db 41, FLAREON, 0 db 37, CHARMELEON, MAGMAR, 0 +; Celadon University + db 48, PORYGON2, 0 ; + db 42, MUK, WEEZING, KABUTOPS, OMASTAR, AERODACTYL, 0 ; ; Expanding the Hiker's cast is hard, as Rock-types are actually quite limited. ; Machop is more of an exception and not the rule, it's just "strong". @@ -324,7 +327,7 @@ BikerData: ; Fire specialist BurglarData: ; Silph Gauntlet 4F (Lavender Tower) - db 59, RAPIDASH, CROAKOZUNA, ARCANINE, PERSIAN_A, WEEZING, MAGMORTAR, 0 + db 59, RAPIDASH, CROAKOZUNA, ARCANINE, UMBREON, WEEZING_G, MAGMORTAR, 0 ; Unused db 33, GROWLITHE, 0 db 28, VULPIX, CHARMANDER, PONYTA, 0 @@ -341,13 +344,15 @@ BurglarData: ; Electric dude with little variety due to not being seen often EngineerData: -; Unused - used in celadon university +; Celadon University db 36, GOLEM, 0 ; Route 11 db 21, KOTORA, VOLTORB, 0 db 18, MAGNEMITE, MAGNEMITE, PIKACHU, 0 ; Silph Gauntlet 3F (S.S Anne) db 58, ELECTRODE, SANDSLASH_A, ELECTIVIRE, GOROTORA, PERRSERKER, SCIZOR, 0 ; The Engineer trainer EXCLUSIVELY uses Magnemites and Voltorbs in normal battles, so I kinda had to improvise with his team a bit... +; Celadon University + db 52, GOLEM_A, 0 ; Super Rod encounter showcase, basically FisherData: @@ -368,9 +373,9 @@ FisherData: ; Route 12 db 24, BLASTYKE, WIGLETT, 0 ; Silph Gauntlet 3F (S.S Anne) - db 58, GYARADOS, SEAKING, DISTURBAN, WUGTRIO, BLASTOISE, PENDRAKEN, 0 + db 58, SEAKING, DISTURBAN, WUGTRIO, KINGLER, PENDRAKEN, GYARADOS, 0 ; Brunswick Trail - db 57, POLIWRATH, MACHAMP, GOROTORA, PENDRAKEN, TAUROS_PA, 0 + db 57, POLIWRATH, DISTURBAN, JABETTA, PENDRAKEN, TAUROS_PA, 0 ; God this took forever to remove repeats from ; Surf encounter extravaganza @@ -395,7 +400,7 @@ SwimmerData: db 33, BLASTYKE, STARYU, WARTORTLE, 0 db 32, POLIWHIRL, TENTACOOL, GOLDUCK, 0 ; Silph Gauntlet 5F (Safari Zone) - db 60, LAPRAS, KINGDRA, CLOYSTER, GOLDUCK, POLIWRATH, TENTACRUEL, 0 + db 60, LAPRAS, PENDRAKEN, CLOYSTER, GOLDUCK, POLIWRATH, VAPOREON, 0 ; Fighting specialist, very odd. CueBallData: @@ -424,7 +429,7 @@ GamblerData: ; Route 8 db 22, POLIWAG, RIBBITO, POLIWHIRL, 0 ; Silph Gauntlet 4F (Lavender Tower) - db 59, SEAKING, RHYPERIOR, ELECTRODE, ARCANINE, GOLEM, POLITOED, 0 + db 59, SEAKING, RHYDON, CACTORMUS, DEWGONG, GOLEM, POLITOED, 0 ; Route 8 db 24, CACTORMUS, 0 ; This was a repeat of Growlithe/Vulpix, so I made it a Game Corner prize instead. @@ -447,7 +452,7 @@ BeautyData: db 29, PERSIAN, 0 ; it doesn't have slash until like L47 trust me it's fine db 29, BULBASAUR, IVYSAUR, 0 ; Silph Gauntlet 2F (Mt. Moon) - db 57, PERSIAN, VICTREEBEL, WIGGLYTUFF, MACHAMP, CLOYSTER, SYLVEON, 0 + db 57, PERSIAN_A, VICTREEBEL, WIGGLYTUFF, SHARPOON, CLOYSTER, SYLVEON, 0 ; Route 19 db 27, POLIWAG, GOLDEEN, SEAKING, 0 db 30, BLASTYKE, GOLDUCK, 0 @@ -456,9 +461,10 @@ BeautyData: db 30, KINGDRA, 0 ; Close to the Trader ; Brunswick Trail db 58, PERSIAN, VENUSAUR, KINGDRA, SYLVEON, CLOYSTER, 0 -; Celeste Hill? - db 60, MR_MIME, WIGGLYTUFF, NINETALES_A, PENDRAKEN, 0 ; Mina +; Celeste Hill + db 60, BALUMBA, NINETALES_A, PENDRAKEN, SYLVEON, 0 ; Mina db 62, PERSIAN, PERSIAN_A, PERRSERKER, 0 ; Selphy +; Brunswick Trail db 63, MUK, ARBOK, VILEPLUME, 0 ; Ariana ; yep psychic yep psychic yep psychic @@ -478,23 +484,23 @@ RockerData: ; Route 12 db 29, VOLTORB, ELECTRODE, 0 ; Silph Gauntlet 3F (S.S Anne) - db 58, GAVILLAIN, ELECTRODE, MAGNEZONE, GOLEM_A, GOROCHU, JOLTEON, 0 + db 58, GAVILLAIN, GAWARHED, MAGNEZONE, GOLEM_A, GOROCHU, JOLTEON, 0 ; Psychic, Poison, and a little bit of Voltorb. JugglerData: ; Silph Co. 5F db 29, ELECTRODE, KADABRA, MR_MIME, 0 ; Victory Road 2F - db 41, DROWZEE, HYPNO, ESPEON, KADABRA, 0 + db 45, ESPEON, UMBREON, HYPNO, MR_MIME, 0 ; Fuchsia Gym db 31, BEEDRILL, HAUNTER, VILEPLUME, 0 db 34, GOLBAT, TENTACRUEL, 0 ; Victory Road 2F db 48, ELECTRODE, HYPNO, MR_MIME, 0 ; buffed roster ; Silph Gauntlet 5F (Safari Zone) - db 60, HYPNO, MR_MIME, ALAKAZAM, ELECTRODE, VICTREEBEL, SLOWKING_G, 0 + db 60, TENTACRUEL, MR_MIME, ALAKAZAM, ELECTRODE, BELLIGNAN, SLOWKING_G, 0 ; Fuchsia Gym - db 38, UMBREON, 0 + db 36, UMBREON, 0 ; Fuchsia Gym db 34, WEEPINBELL, BELLIGNAN, 0 @@ -509,9 +515,9 @@ TamerData: db 43, RHYDON, 0 db 39, SANDSLASH, TRAMPEL, 0 ; Victory Road 2F - db 44, KANGASKHAN, TAUROS, GOLDUCK, PRIMEAPE, 0 + db 47, KANGASKHAN, TAUROS, GOLDUCK, PRIMEAPE, 0 ; Silph Gauntlet 5F (Safari Zone) - db 60, RHYPERIOR, ARBOK, KANGASKHAN, ANNIHILAPE, TRAMPEL, TAUROS, 0 + db 60, TAUROS, ARBOK, KANGASKHAN, ANNIHILAPE, TRAMPEL, KANGASKHAN, 0 ; yep bird yep bird yep bird yep bird ; If nothing else, just make them less agonising to fight. @@ -556,21 +562,14 @@ BlackbeltData: db 43, GUARDIA, 0 db 38, CACTORMUS, DUGTRIO, STEELIX, 0 ; Victory Road 2F - db 43, MACHOKE, MACHOP, MACHOKE, 0 + db 46, POLIWRATH, MACHOKE, HITMONTOP, 0 ; Silph Gauntlet 2F (Mt. Moon) - db 63, HITMONTOP, JABETTA, GORILLAIMO, POLIWRATH, CARAPTHOR, MACHAMP, 0 - -; Uses Silph products and Steel-types -ChiefData: -; Silph Gauntlet 7F - db $FF, 66, ELECTRODE, 65, LAPRAS, 66, SCIZOR, 65, GENGAR, 68, PORYGONZ, 70, OMEGADGE, 0 - db $FF, 73, ELECTRODE, 72, LAPRAS, 73, SCIZOR, 72, GENGAR, 75, PORYGONZ, 78, OMEGADGE, 0 -; Lapras and Gengar are used here since Lapras is given by a Silph worker, and Gengar represents the Silph Scope. + db 57, HITMONTOP, JABETTA, GORILLAIMO, POLIWRATH, CARAPTHOR, MACHAMP, 0 ; Poison- and Electric-type Pokemon ScientistData: ; Silph Gauntlet 4F (Lavender Tower) - db 59, MAGNEZONE, ELECTRODE, PORYGONZ, MIMMEO, GAVILLAIN, WEEZING, 0 + db 59, MAGNEZONE, TRICULES, PORYGON2, MIMMEO, GAVILLAIN, WEEZING, 0 ; Silph Co. 2F (unused) db 26, GRIMER, WEEZING, KOFFING, WEEZING, 0 db 28, MAGNETITE, VOLTORB, MAGNETON, 0 @@ -629,7 +628,7 @@ RocketData: db 26, VOLTORB, KOFFING, DROWZEE, 0 db 23, ZUBAT, RATTATA, RATICATE, ZUBAT, 0 ; Silph Gauntlet 4F (Lavender Tower) - db 59, PERSIAN, ARBOK, RATICATE, CROBAT, HYPNO, GUARDIA, 0 + db 59, GUARDIA, ARBOK, RATICATE, CROBAT, HYPNO, NIDOREIGN, 0 ; Silph Co. 2F - cut db 29, CUBONE, ZUBAT, 0 db 25, GOLBAT, ZUBAT, ZUBAT, RATICATE, ZUBAT, 0 @@ -638,7 +637,7 @@ RocketData: ; Silph Co. 4F - cut db 29, MACHOP, DROWZEE, 0 db 28, EKANS, ZUBAT, CUBONE, 0 -; Silph Co. 5F - cut +; Silph Co. 5F db 33, ARBOK, 0 db 33, HYPNO, 0 ; Silph Co. 6F - cut @@ -665,12 +664,12 @@ CooltrainerMData: ; Viridian Gym db 39, MAROWAK, NIDOKING, 0 ; Victory Road 3F - db 43, EXEGGUTOR, CLOYSTER, ARCANINE, 0 - db 43, KINGLER, TENTACRUEL, BLASTOISE, 0 + db 50, EXEGGUTOR, CLOYSTER, ARCANINE, 0 + db 50, KINGLER, TENTACRUEL, BLASTOISE, 0 ; Silph Gauntlet 5F (Safari Zone) db 60, GOROCHU, VENUSAUR, ESPEON, CHARIZARD, SNORLAX, TOTARTLE, 0 ; Victory Road 1F - db 42, IVYSAUR, WARTORTLE, CHARMELEON, CHARIZARD, 0 + db 48, FLAREON, VAPOREON, JOLTEON, LEAFEON, 0 ; Unused db 44, IVYSAUR, WARTORTLE, CHARMELEON, 0 db 49, NIDOKING, 0 @@ -681,7 +680,7 @@ CooltrainerMData: ; Celadon Condominiums Morimoto - Team is LGPE's with +10 Levels each. db 64, KANGASKHAN, FLAREON, VAPOREON, JOLTEON, MACHAMP, DRAGONITE, 0 ; Brunswick Trail / Glade - db 60, RATICATE, POLITOED, BUTTERFREE, WIGGLYTUFF, MACHAMP, RHYPERIOR, 0 ; Primo + db 60, RATICATE, POLITOED, BUTTERFREE, WIGGLYTUFF, MACHAMP, RHYDON, 0 ; Primo db 57, PIDGEOT, VILEPLUME, GUARDIA, RAPIDASH, SLOWBRO, JOLTEON, 0 ; Trace db 60, EXEGGUTOR, SLOWBRO, JYNX, 0 ; Will @@ -690,17 +689,17 @@ CooltrainerFData: ; Celadon Gym db 24, CACTORMUS, GLOOM, 0 ; Victory Road 3F - db 43, BELLIGNAN, VICTREEBEL, 0 - db 43, PARASECT, DEWGONG, CHANSEY, 0 + db 49, BELLIGNAN, VICTREEBEL, 0 + db 47, PARASECT, DEWGONG, CHANSEY, 0 ; Silph Gauntlet 5F (Safari Zone) - db 60, CLEFABLE, GENGAR, VICTREEBEL, NINETALES, KANGASKHAN, BLASTOISE, 0 + db 60, CLEFABLE, GENGAR, NINETALES, LEAFEON, GLACEON, BLASTOISE, 0 ; Victory Road 1F - db 44, PERSIAN, NINETALES, BELLOSSOM, 0 -; Unused - reuse somewhere? celeste, etc? + db 48, PERSIAN, NINETALES, BELLOSSOM, 0 +; Unused ; db 45, IVYSAUR, VENUSAUR, 0 ; db 45, NIDORINA, NIDOQUEEN, 0 ; db 43, PERSIAN, NINETALES, RAICHU, 0 -; Brunswick Glade/grotto etc, whatever desired +; Brunswick Glade db 60, BLASTOISE, VENUSAUR, CLEFABLE, ESPEON, 0 ; Leaf ; "Dignified" Pokemon associated with the privileged class. @@ -714,7 +713,7 @@ GentlemanData: db 58, ARCANINE, NIDOQUEEN, MR_RIME, FEAROW, CARAPTHOR, RAPIDASH, 0 ; SS Anne 2F Rooms db 17, KOLTA, GROWLITHE, 0 -; Celeste Hill? +; Celeste Hill/Brunswick Trail db 56, NIDOKING, GOLDUCK, GUARDIA, DODRIO, BEEDRILL, 0 ; Fuji db 57, FEAROW, RAPIDASH, GOROCHU, ALAKAZAM, SYLVEON, 0 ; Fan Club chairman @@ -766,21 +765,19 @@ StudentData: db 56, WIGGLYTUFF, PIDGEOT, TRAMPEL, CLEFABLE, KANGASKHAN, RAMOOSE, 0 ; all Normal types that Yujirou doesn't use ; Celadon University db 22, BULBASAUR, CHARMANDER, SQUIRTLE, 0 +; Celadon University + db 40, VENUSAUR, CHARIZARD, TOTARTLE, 0 ; Mainly Water specialists, but can also use anything else that hits Fire super-effectively FirefighterData: ; Cerulean Gym db 15, POLIWAG, CHEEP, SQUIRTLE, 0 ; Silph Gauntlet 3F (S.S Anne) - db 58, BLASTOISE, OMASTAR, SANDSLASH, KINGDRA, GUARDIA, POLIWRATH, 0 + db 58, BLASTOISE, OMASTAR, SANDSLASH, KINGDRA, GUARDIA, PENDRAKEN, 0 ; Cinnabar Volcano db 36, WARTORTLE, MAROWAK, POLITOED, 0 db 35, SANDSLASH, OMANYTE, SEAKING, CROAKOZUNA, 0 db 38, SEADRA, BLASTOISE, 0 - -JuniorData: -; to be removed - db 5, BULBASAUR, 0 JackData: ; Celadon Mansion Roof House diff --git a/data/trainers/rival_parties.asm b/data/trainers/rival_parties.asm index 67521f0f..b9baf76c 100644 --- a/data/trainers/rival_parties.asm +++ b/data/trainers/rival_parties.asm @@ -44,17 +44,17 @@ Green2Data: db $FF, 48, SANDSLASH, 47, EXEGGCUTE, 47, NINETALES, 48, CLOYSTER, 50, ALAKAZAM, 53, GOROCHU, 0 Green3Data: - db $FF, 59, PIDGEOT, 57, ALAKAZAM, 59, RHYPERIOR, 59, ARCANINE, 61, EXEGGUTOR, 63, TOTARTLE, 0 - db $FF, 59, PIDGEOT, 57, ALAKAZAM, 59, RHYPERIOR, 59, GYARADOS, 61, ARCANINE, 63, VENUSAUR, 0 - db $FF, 59, PIDGEOT, 57, ALAKAZAM, 59, RHYPERIOR, 59, EXEGGUTOR, 61, GYARADOS, 63, CHARIZARD, 0 - db $FF, 59, SANDSLASH, 57, ALAKAZAM, 59, EXEGGUTOR, 59, MAGNEZONE, 61, NINETALES, 63, UMBREON, 0 - db $FF, 59, SANDSLASH, 57, ALAKAZAM, 59, EXEGGUTOR, 59, NINETALES, 61, CLOYSTER, 63, GOROCHU, 0 + db $FF, 59, PIDGEOT, 60, ALAKAZAM, 59, RHYPERIOR, 61, ARCANINE, 61, EXEGGUTOR, 63, TOTARTLE, 0 + db $FF, 59, PIDGEOT, 60, ALAKAZAM, 59, RHYPERIOR, 61, GYARADOS, 61, ARCANINE, 63, VENUSAUR, 0 + db $FF, 59, PIDGEOT, 60, ALAKAZAM, 59, RHYPERIOR, 61, EXEGGUTOR, 61, GYARADOS, 63, CHARIZARD, 0 + db $FF, 59, SANDSLASH, 60, ALAKAZAM, 59, EXEGGUTOR, 61, MAGNEZONE, 61, NINETALES, 63, UMBREON, 0 + db $FF, 59, SANDSLASH, 60, ALAKAZAM, 59, EXEGGUTOR, 61, NINETALES, 61, CLOYSTER, 63, GOROCHU, 0 ; post-game rematch teams, based on FRLG team - db $FF, 72, TRICULES, 73, ALAKAZAM, 72, IGUANARCH, 73, ARCANINE, 73, EXEGGUTOR, 75, TOTARTLE, 0 - db $FF, 72, TRICULES, 73, ALAKAZAM, 72, IGUANARCH, 73, GYARADOS, 73, ARCANINE, 75, VENUSAUR, 0 - db $FF, 72, TRICULES, 73, ALAKAZAM, 72, IGUANARCH, 73, EXEGGUTOR, 73, GYARADOS, 75, CHARIZARD, 0 - db $FF, 72, GUARDIA, 73, ALAKAZAM, 72, TANGROWTH, 73, MAGNEZONE, 73, NINETALES, 75, UMBREON, 0 - db $FF, 72, GUARDIA, 73, ALAKAZAM, 72, TANGROWTH, 73, NINETALES, 73, CLOYSTER, 75, GOROCHU, 0 + db $FF, 82, TRICULES, 83, ALAKAZAM, 82, IGUANARCH, 83, ARCANINE, 83, EXEGGUTOR, 85, TOTARTLE, 0 + db $FF, 82, TRICULES, 83, ALAKAZAM, 82, IGUANARCH, 83, GYARADOS, 83, ARCANINE, 85, VENUSAUR, 0 + db $FF, 82, TRICULES, 83, ALAKAZAM, 82, IGUANARCH, 83, EXEGGUTOR, 83, GYARADOS, 85, CHARIZARD, 0 + db $FF, 82, GUARDIA, 83, ALAKAZAM, 82, TANGROWTH, 83, MAGNEZONE, 83, NINETALES, 85, UMBREON, 0 + db $FF, 82, GUARDIA, 83, ALAKAZAM, 82, TANGROWTH, 83, NINETALES, 83, CLOYSTER, 85, GOROCHU, 0 ProfOakData: db $FF, 61, TAUROS, 62, GYARADOS, 63, ARCANINE, 63, EXEGGUTOR, 64, NIDOKING, 65, TOTARTLE, 0 diff --git a/data/trainers/scaled_parties.asm b/data/trainers/scaled_parties.asm index e44de497..4aea6017 100644 --- a/data/trainers/scaled_parties.asm +++ b/data/trainers/scaled_parties.asm @@ -9,8 +9,8 @@ BrockData: db $FF, 38, GOLEM, 37, OMANYTE, 37, KABUTO, 38, DECILLA, 40, STEELIX, 0, ; 4 db $FF, 41, GOLEM, 40, OMASTAR, 40, KABUTOPS, 41, GAWARHED, 43, STEELIX, 0 ; 5 db $FF, 45, GOLEM, 44, OMASTAR, 44, KABUTOPS, 45, GAWARHED, 47, STEELIX, 0 ; 6 - db $FF, 47, GOLEM, 46, OMASTAR, 46, KABUTOPS, 48, GAWARHED, 48, KLEAVOR, 50, STEELIX, 0 ; 7 (unused) - db $FF, 62, GOLEM, 61, GAWARHED, 61, ARCANINE_H, 62, OMASTAR, 62, KABUTOPS, 65, STEELIX, 0 ; 8 (postgame) + db $FF, 57, GOLEM, 56, OMASTAR, 56, KABUTOPS, 57, GAWARHED, 57, KLEAVOR, 60, STEELIX, 0 ; 7 (unused) + db $FF, 67, GOLEM, 66, GAWARHED, 66, ARCANINE_H, 67, OMASTAR, 67, KABUTOPS, 70, STEELIX, 0 ; 8 (postgame) MistyData: db $FF, 11, HORSEA, 12, GOLDEEN, 14, STARMIE, 0 ; 0 badges @@ -20,8 +20,8 @@ MistyData: db $FF, 38, SEADRA, 37, CROAKOZUNA, 37, SEAKING, 38, GOLDUCK, 40, STARMIE, 0 ; 4 db $FF, 41, SEADRA, 40, CROAKOZUNA, 40, SEAKING, 41, GOLDUCK, 43, STARMIE, 0 ; 5 db $FF, 45, KINGDRA, 44, CROAKOZUNA, 44, SEAKING, 45, GOLDUCK, 47, STARMIE, 0 ; 6 - db $FF, 47, KINGDRA, 46, CROAKOZUNA, 46, SEAKING, 48, GOLDUCK, 48, VAPOREON, 50, STARMIE, 0 ; 7 (unused) - db $FF, 62, KINGDRA, 62, GOLDUCK, 61, TAUROS_PA, 61, VAPOREON, 62, TOTARTLE, 65, STARMIE, 0 ; 8 (postgame) + db $FF, 57, KINGDRA, 56, CROAKOZUNA, 56, SEAKING, 57, GOLDUCK, 57, VAPOREON, 60, STARMIE, 0 ; 7 (unused) + db $FF, 67, KINGDRA, 67, GOLDUCK, 66, TAUROS_PA, 66, VAPOREON, 67, TOTARTLE, 70, STARMIE, 0 ; 8 (postgame) LtSurgeData: db $FF, 11, VOLTORB, 12, PIKACHU, 14, GAOTORA, 0 ; 0 badges @@ -31,8 +31,8 @@ LtSurgeData: db $FF, 38, ELECTRODE, 37, GOROTORA, 37, MAGNETON, 38, ELECTABUZZ, 40, GOROCHU, 0 ; 4 db $FF, 41, ELECTRODE, 40, GOROTORA, 40, MAGNETON, 41, ELECTABUZZ, 43, GOROCHU, 0 ; 5 db $FF, 45, ELECTRODE, 44, GOROTORA, 44, MAGNEZONE, 45, ELECTIVIRE, 47, GOROCHU, 0 ; 6 - db $FF, 47, ELECTRODE, 46, GOROTORA, 46, MAGNEZONE, 48, ELECTIVIRE, 48, JOLTEON, 50, GOROCHU, 0 ; 7 (unused) - db $FF, 62, GOROTORA, 62, MAGNEZONE, 61, GOLEM_A, 62, ELECTIVIRE, 61, JOLTEON, 65, GOROCHU, 0 ; 8 (postgame) + db $FF, 57, ELECTRODE, 56, GOROTORA, 56, MAGNEZONE, 57, ELECTIVIRE, 57, JOLTEON, 60, GOROCHU, 0 ; 7 (unused) + db $FF, 67, GOROTORA, 67, MAGNEZONE, 66, GOLEM_A, 67, ELECTIVIRE, 66, JOLTEON, 70, GOROCHU, 0 ; 8 (postgame) ErikaData: db $FF, 11, BELLSPROUT, 12, ODDISH, 14, TANGELA, 0 ; 0 badges (unused) @@ -42,8 +42,8 @@ ErikaData: db $FF, 38, VICTREEBEL, 37, PARASECT, 37, CACTORMUS, 38, TANGELA, 40, BELLOSSOM, 0 ; 4 db $FF, 41, VICTREEBEL, 40, PARASECT, 40, CACTORMUS, 41, BELLOSSOM, 43, TANGROWTH, 0 ; 5 db $FF, 45, VICTREEBEL, 44, PARASECT, 44, CACTORMUS, 45, BELLOSSOM, 47, TANGROWTH, 0 ; 6 - db $FF, 47, VICTREEBEL, 46, PARASECT, 46, CACTORMUS, 48, BELLOSSOM, 48, LEAFEON, 50, TANGROWTH, 0 ; 7 (unused) - db $FF, 62, BELLOSSOM, 62, TOEDSCRUEL, 61, ELECTRODE_H, 61, LEAFEON, 62, VENUSAUR, 65, TANGROWTH, 0 ; 8 (postgame) + db $FF, 57, VICTREEBEL, 56, PARASECT, 56, CACTORMUS, 57, BELLOSSOM, 57, LEAFEON, 60, TANGROWTH, 0 ; 7 (unused) + db $FF, 67, BELLOSSOM, 67, TOEDSCRUEL, 66, ELECTRODE_H, 66, LEAFEON, 67, VENUSAUR, 70, TANGROWTH, 0 ; 8 (postgame) KogaData: db $FF, 11, VENONAT, 12, ZUBAT, 14, KOFFING, 0 ; 0 badges (unused) @@ -53,8 +53,8 @@ KogaData: db $FF, 38, VENOMOTH, 37, TENTACRUEL, 37, MUK, 38, WEEZING, 40, CROBAT, 0 ; 4 db $FF, 41, VENOMOTH, 40, TENTACRUEL, 40, MUK, 41, WEEZING, 43, CROBAT, 0 ; 5 db $FF, 45, VENOMOTH, 44, TENTACRUEL, 44, MUK, 45, WEEZING, 47, CROBAT, 0 ; 6 - db $FF, 47, VENOMOTH, 46, BELLIGNAN, 46, TENTACRUEL, 48, MUK, 48, WEEZING, 50, CROBAT, 0 ; 7 (unused) - db $FF, 62, VENOMOTH, 61, BELLIGNAN, 61, SLOWBRO_G, 62, MUK, 62, WEEZING, 65, CROBAT, 0 ; 8 (postgame) + db $FF, 57, VENOMOTH, 56, BELLIGNAN, 56, TENTACRUEL, 57, MUK, 57, WEEZING, 60, CROBAT, 0 ; 7 (unused) + db $FF, 67, VENOMOTH, 66, BELLIGNAN, 66, SLOWBRO_G, 67, MUK, 67, WEEZING, 70, CROBAT, 0 ; 8 (postgame) SabrinaData: db $FF, 11, SLOWPOKE, 12, DROWZEE, 14, KADABRA, 0 ; 0 badges (unused) @@ -64,8 +64,8 @@ SabrinaData: db $FF, 38, ESPEON, 37, MR_MIME, 37, SLOWKING, 38, HYPNO, 40, ALAKAZAM, 0 ; 4 db $FF, 41, ESPEON, 40, MR_MIME, 40, SLOWKING, 41, HYPNO, 43, ALAKAZAM, 0 ; 5 db $FF, 45, ESPEON, 44, MR_MIME, 44, SLOWKING, 45, HYPNO, 47, ALAKAZAM, 0 ; 6 - db $FF, 47, ESPEON, 46, MR_MIME, 46, SLOWKING, 48, JYNX, 48, HYPNO, 50, ALAKAZAM, 0 ; 7 (unused) - db $FF, 62, JYNX, 62, SLOWKING, 61, RAPIDASH_G, 62, HYPNO, 61, ESPEON, 65, ALAKAZAM, 0 ; 8 (postgame) + db $FF, 57, ESPEON, 56, MR_MIME, 56, SLOWKING, 57, JYNX, 57, HYPNO, 60, ALAKAZAM, 0 ; 7 (unused) + db $FF, 67, JYNX, 67, SLOWKING, 66, RAPIDASH_G, 67, HYPNO, 66, ESPEON, 70, ALAKAZAM, 0 ; 8 (postgame) BlaineData: db $FF, 11, VULPIX, 12, GROWLITHE, 14, PONYTA, 0 ; 0 badges (unused) @@ -75,8 +75,8 @@ BlaineData: db $FF, 38, PONYTA, 37, NINETALES, 37, FLAREON, 38, ARCANINE, 40, MAGMORTAR, 0 ; 4 db $FF, 41, RAPIDASH, 40, NINETALES, 40, FLAREON, 41, ARCANINE, 43, MAGMORTAR, 0 ; 5 db $FF, 45, RAPIDASH, 44, NINETALES, 44, FLAREON, 45, ARCANINE, 47, MAGMORTAR, 0 ; 6 - db $FF, 47, RAPIDASH, 46, NINETALES, 46, FLAREON, 48, CHARIZARD, 48, ARCANINE, 50, MAGMORTAR, 0 ; 7 (unused) - db $FF, 62, RAPIDASH, 62, ARCANINE, 61, TAUROS_PB, 61, FLAREON, 62, CHARIZARD, 65, MAGMORTAR, 0 ; 8 (postgame) + db $FF, 57, RAPIDASH, 56, NINETALES, 56, FLAREON, 57, CHARIZARD, 57, ARCANINE, 60, MAGMORTAR, 0 ; 7 (unused) + db $FF, 67, RAPIDASH, 67, ARCANINE, 66, TAUROS_PB, 66, FLAREON, 67, CHARIZARD, 70, MAGMORTAR, 0 ; 8 (postgame) GiovanniData: ; Rocket Hideout B4F @@ -86,26 +86,32 @@ GiovanniData: LeaderGiovanniData: db $FF, 47, TRAMPEL, 46, DUGTRIO, 46, GUARDIA, 48, NIDOQUEEN, 48, NIDOKING, 50, RHYPERIOR, 0 + +ChiefData: +; Silph Gauntlet 7F + db $FF, 71, ELECTRODE, 70, LAPRAS, 71, SCIZOR, 70, GENGAR, 73, PORYGONZ, 77, OMEGADGE, 0 + db $FF, 82, ELECTRODE, 81, LAPRAS, 82, SCIZOR, 81, GENGAR, 84, PORYGONZ, 87, OMEGADGE, 0 +; Lapras and Gengar are used here since Lapras is given by a Silph worker, and Gengar represents the Silph Scope. LoreleiData: - db $FF, 51, DEWGONG, 50, CLOYSTER, 50, BUU, 52, JYNX, 52, GLACEON, 54, LAPRAS, 0 + db $FF, 53, DEWGONG, 54, CLOYSTER, 53, BUU, 55, JYNX, 55, GLACEON, 57, LAPRAS, 0 ; post-game rematch team (currently unused) - db $FF, 63, DEWGONG, 64, CLOYSTER, 63, NINETALES_A, 64, JYNX, 64, GLACEON, 66, LAPRAS, 0 + db $FF, 73, DEWGONG, 74, CLOYSTER, 73, NINETALES_A, 74, JYNX, 74, GLACEON, 76, LAPRAS, 0 BrunoData: - db $FF, 53, JABETTA, 52, STEELIX, 52, GORILLAIMO, 54, HITMONCHAN, 56, HITMONLEE, 56, MACHAMP, 0 + db $FF, 54, JABETTA, 55, STEELIX, 54, GORILLAIMO, 56, HITMONCHAN, 56, HITMONLEE, 58, MACHAMP, 0 ; post-game rematch team (currently unused) - db $FF, 65, JABETTA, 66, STEELIX, 65, SIRFETCHD, 66, GORILLAIMO, 66, HITMONTOP, 68, MACHAMP, 0 + db $FF, 75, JABETTA, 76, STEELIX, 75, SIRFETCHD, 76, GORILLAIMO, 76, HITMONTOP, 78, MACHAMP, 0 AgathaData: - db $FF, 55, ANNIHILAPE, 54, CROBAT, 54, GENGAR, 56, ARBOK, 56, UMBREON, 58, GENGAR, 0 ; Agatha has double Gengars in every single battle in the main-series, it's fine here... + db $FF, 55, ANNIHILAPE, 56, CROBAT, 55, GENGAR, 57, ARBOK, 57, UMBREON, 59, GENGAR, 0 ; Agatha has double Gengars in every single battle in the main-series, it's fine here... ; post-game rematch team (currently unused) - db $FF, 67, ANNIHILAPE, 68, CROBAT, 67, MAROWAK_A, 68, ARBOK, 68, UMBREON, 70, GENGAR, 0 + db $FF, 77, ANNIHILAPE, 78, CROBAT, 77, MAROWAK_A, 78, ARBOK, 78, UMBREON, 80, GENGAR, 0 LanceData: - db $FF, 57, GAVILLAIN, 56, GYARADOS, 56, KINGDRA, 58, IGUANARCH, 58, AERODACTYL, 60, DRAGONITE, 0 + db $FF, 56, GAVILLAIN, 57, GYARADOS, 56, KINGDRA, 58, IGUANARCH, 58, AERODACTYL, 60, DRAGONITE, 0 ; post-game rematch team (currently unused) - db $FF, 69, GAVILLAIN, 70, GYARADOS, 69, EXEGGUTOR_A, 70, KINGDRA, 70, IGUANARCH, 72, DRAGONITE, 0 + db $FF, 79, GAVILLAIN, 80, GYARADOS, 79, EXEGGUTOR_A, 80, KINGDRA, 80, IGUANARCH, 82, DRAGONITE, 0 YujirouData: ; was unused juggler db $FF, 5, COINPUR, 6, RATTATA, 8, LICKITUNG, 0 ; 0 diff --git a/data/wild/maps/Route23.asm b/data/wild/maps/Route23.asm index 62ab11c3..323cf723 100644 --- a/data/wild/maps/Route23.asm +++ b/data/wild/maps/Route23.asm @@ -1,15 +1,15 @@ Route23WildMons: def_grass_wildmons 10 ; encounter rate - db 41, ARBOK + db 40, ARBOK db 40, SANDSLASH db 38, FEAROW - db 38, ARBOK + db 39, EXEGGCUTE db 38, EXEGGCUTE db 40, PRIMEAPE - db 37, EXEGGCUTE - db 38, EXEGGCUTE + db 38, NIDORINO + db 38, NIDORINA db 40, FEAROW - db 41, SANDSLASH + db 41, PRIMEAPE end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/VictoryRoad1F.asm b/data/wild/maps/VictoryRoad1F.asm index 7cae24bb..39c21f65 100644 --- a/data/wild/maps/VictoryRoad1F.asm +++ b/data/wild/maps/VictoryRoad1F.asm @@ -1,15 +1,15 @@ VictoryRoad1FWildMons: def_grass_wildmons 15 ; encounter rate - db 39, MACHOKE - db 38, ONIX - db 39, GOLBAT - db 38, GRAVELER - db 39, SANDSLASH - db 40, GOLBAT - db 40, GAVILLAIN - db 40, RHYHORN - db 40, MAROWAK - db 42, HITMONTOP ; LGPE Rare Spawn + db 43, MACHOKE + db 42, ONIX + db 42, GOLBAT + db 42, GRAVELER + db 43, SANDSLASH + db 43, GOLBAT + db 44, GAVILLAIN + db 44, RHYHORN + db 44, MAROWAK + db 45, HITMONTOP ; LGPE Rare Spawn end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/VictoryRoad2F.asm b/data/wild/maps/VictoryRoad2F.asm index 7a82bc54..8b6f04b9 100644 --- a/data/wild/maps/VictoryRoad2F.asm +++ b/data/wild/maps/VictoryRoad2F.asm @@ -1,15 +1,15 @@ VictoryRoad2FWildMons: - def_grass_wildmons 10 ; encounter rate - db 39, MACHOKE - db 38, ONIX - db 39, GOLBAT - db 38, GRAVELER - db 39, SANDSLASH - db 40, GOLBAT - db 40, GAVILLAIN - db 40, RHYHORN - db 40, VENOMOTH - db 42, HITMONLEE ; LGPE Rare Spawn + def_grass_wildmons 15 ; encounter rate + db 43, MACHOKE + db 42, ONIX + db 42, GOLBAT + db 42, GRAVELER + db 43, SANDSLASH + db 43, GOLBAT + db 44, GAVILLAIN + db 44, RHYHORN + db 44, VENOMOTH + db 45, HITMONLEE ; LGPE Rare Spawn end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/VictoryRoad3F.asm b/data/wild/maps/VictoryRoad3F.asm index 943940bb..69dc2164 100644 --- a/data/wild/maps/VictoryRoad3F.asm +++ b/data/wild/maps/VictoryRoad3F.asm @@ -1,15 +1,15 @@ VictoryRoad3FWildMons: def_grass_wildmons 15 ; encounter rate - db 39, MACHOKE - db 38, ONIX - db 39, GOLBAT - db 38, GRAVELER - db 39, RHYHORN - db 40, GOLBAT - db 40, GAVILLAIN - db 40, SANDSLASH - db 40, PARASECT - db 42, HITMONCHAN ; LGPE Rare Spawn + db 43, MACHOKE + db 42, ONIX + db 42, GOLBAT + db 42, GRAVELER + db 43, RHYHORN + db 43, GOLBAT + db 44, GAVILLAIN + db 44, SANDSLASH + db 44, PARASECT + db 45, HITMONCHAN ; LGPE Rare Spawn end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index e08b1f24..be211b16 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -39,9 +39,18 @@ DisplayDiploma:: hlcoord 10, 4 ld de, wPlayerName call PlaceString + ld a, [wPlayerSex] + and a ; are you playing as Red + jr z, .red ; if yes, Red appears on the diploma + jr nz, .green ; if no, Green replaces him +.green + farcall DrawFPlayerCharacter + jr .skip +.red farcall DrawPlayerCharacter +.skip -; Move the player 33 pixels right and set the priority bit so he appears +; Move the player 33 pixels right and set the priority bit so they appear ; behind the background layer. ld hl, wShadowOAMSprite00XCoord lb bc, $80, $28 diff --git a/engine/items/get_bag_item_quantity.asm b/engine/items/get_bag_item_quantity.asm index f10df1a0..030703f1 100644 --- a/engine/items/get_bag_item_quantity.asm +++ b/engine/items/get_bag_item_quantity.asm @@ -16,3 +16,23 @@ GetQuantityOfItemInBag: .notInBag ld b, 0 ret + +GetIndexOfItemInBag: +; In: b = item ID +; Out: b = index of item in bag (FF if not) + call GetPredefRegisters + ld hl, wBagItems - 1 + ld c, -1 +.loop + inc c + inc hl + ld a, [hli] + cp $ff + jr z, .notInBag + cp b + jr nz, .loop + ld b, c + ret +.notInBag + ld b, a + ret diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 4279ea21..74371b72 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -23,7 +23,7 @@ ItemUsePtrTable: dw ItemUseBall ; POKE_BALL dw ItemUseTownMap ; TOWN_MAP dw ItemUseBicycle ; BICYCLE - dw ItemUseSurfboard ; out-of-battle Surf effect + dw ItemUseLapras ; POCKET_LAPRAS dw ItemUseBall ; SAFARI_BALL dw ItemUsePokedex ; POKEDEX dw ItemUseEvoStone ; MOON_STONE @@ -759,12 +759,17 @@ ItemUseBicycle: jp PrintText ; used for Surf out-of-battle effect -ItemUseSurfboard: +ItemUseLapras: ld a, [wWalkBikeSurfState] ld [wWalkBikeSurfStateCopy], a cp 2 ; is the player already surfing? jr z, .tryToStopSurfing .tryToSurf + farcall IsSurfingAllowed + ld hl, wd728 + bit 1, [hl] + res 1, [hl] + jp z, .no call IsNextTileShoreOrWater jp c, SurfingAttemptFailed ld hl, TilePairCollisionsWater @@ -837,6 +842,10 @@ ItemUseSurfboard: inc a ld [wSimulatedJoypadStatesIndex], a ret +.no + ld a, 1 + and a + ret SurfingGotOnText: text_far _SurfingGotOnText diff --git a/engine/menus/item_descriptions.asm b/engine/menus/item_descriptions.asm index d6501d38..104dcb3c 100644 --- a/engine/menus/item_descriptions.asm +++ b/engine/menus/item_descriptions.asm @@ -26,7 +26,7 @@ ItemDescriptionPointers: text_end text_far _BicycleDescription text_end - text_far _UnusedItemDescription + text_far _PocketLaprasDescription text_end text_far _SafariBallDescription text_end diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 2effad05..d6722d1c 100644 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -165,7 +165,7 @@ StartMenu_Pokemon:: bit 1, [hl] res 1, [hl] jp z, .loop - ld a, SURFBOARD + ld a, POCKET_LAPRAS ld [wcf91], a ld [wPseudoItemID], a call UseItem @@ -331,6 +331,7 @@ StartMenu_Item:: ld a, [wBagSavedMenuItem] ld [wCurrentMenuItem], a call DisplayListMenuID + jp nz, .sortItems ld a, [wCurrentMenuItem] ld [wBagSavedMenuItem], a jr nc, .choseItem @@ -451,6 +452,9 @@ StartMenu_Item:: .infoItem farcall DisplayItemDescription jp ItemMenuLoop +.sortItems + farcall SortItems + jp ItemMenuLoop CannotUseItemsHereText: text_far _CannotUseItemsHereText diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm index 2d506ce2..f012d1df 100644 --- a/engine/menus/swap_items.asm +++ b/engine/menus/swap_items.asm @@ -147,3 +147,264 @@ HandleItemListSwapping:: pop de pop hl jp DisplayListMenuIDLoop + +SortItems:: + push hl + push bc + ld hl, SortItemsText ; Display the text to ask to sort + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jp z, .beginSorting ; If yes + jr .done +.finishedSwapping + ld a, [hSwapTemp] ; If not 0, then a swap of items did occur + cp 0 + jr z, .nothingSorted + ld hl, SortComplete + jr .printResultText +.nothingSorted + ld hl, NothingToSort +.printResultText + call PrintText +.done + xor a ; Zeroes a + pop bc + pop hl + ret +.beginSorting + xor a + ld [hSwapTemp], a ; 1 if something in the bag got sorted + ld de, 0 + ld hl, ItemSortList + ld b, [hl] ; This is the first item to check for + ld hl, wBagItems + ld c, 0 ; Relative to wBagItems, this is where we'd like to begin swapping +.loopCurrItemInBag + ld a, [hl] ; Load the value of hl to a (which is an item number) and Increments to the quantity + cp -1 ; See if the item number is $ff, which is 'cancel' + jr z, .findNextItem ; If it is cancel, then move onto the next item + cp b + jr z, .hasItem ; If it's not b, then go to the next item in the bag + inc hl ; increments past the quantity to the next item to check + inc hl + jr .loopCurrItemInBag +.findNextItem + ld d, 0 + inc e + ld hl, ItemSortList + add hl, de + ld b, [hl] + ld hl, wBagItems ; Resets hl to start at the beginning of the bag + ld a, b + cp -1 ; Check if we got through all of the items, to the last one + jr z, .finishedSwapping + jr .loopCurrItemInBag +.hasItem ; c contains where to swap to relative to the start of wBagItems + ; hl contains where the item to swap is absolute. + ; b contains the item ID + push de + ld d, h + ld e, l + ld hl, wBagItems + ld a, b + ld b, 0 + add hl, bc ; hl now holds where we'd like to swap to + ld b, a + ld a, [de] + cp [hl] + jr z, .cont ; If they're the same item + ld a, 1 + ld [hSwapTemp], a + ld a, [hl] + ld [hSwapItemID],a ; [hSwapItemID] = second item ID + inc hl + ld a,[hld] + ld [hSwapItemQuantity],a ; [hSwapItemQuantity] = second item quantity + ld a,[de] + ld [hli],a ; put first item ID in second item slot + inc de + ld a,[de] + ld [hl],a ; put first item quantity in second item slot + ld a,[hSwapItemQuantity] + ld [de],a ; put second item quantity in first item slot + dec de + ld a,[hSwapItemID] + ld [de],a ; put second item ID in first item slot +.cont + inc c + inc c + ld h, d + ld l, e + pop de + jr .findNextItem + +SortItemsText:: + text_far _SortItemsText + db "@" + +SortComplete:: + text_far _SortComplete + db "@" + +NothingToSort:: + text_far _NothingToSort + db "@" + +ItemSortList:: + ; Used Key Items + db BICYCLE + db SUPER_ROD + db POCKET_LAPRAS + db ITEMFINDER + db TOWN_MAP + db MYSTERY_BOX + ; Balls + db POKE_BALL + db GREAT_BALL + db ULTRA_BALL + db SAFARI_BALL + db MASTER_BALL + ; Common Items + db REPEL + db SUPER_REPEL + db MAX_REPEL + db ESCAPE_ROPE + db POKE_DOLL + ; Health + db POTION + db SUPER_POTION + db HYPER_POTION + db MAX_POTION + db FULL_RESTORE + db FRESH_WATER + db SODA_POP + db LEMONADE + ; Revival + db REVIVE + db MAX_REVIVE + ; Status + db ANTIDOTE + db BURN_HEAL + db ICE_HEAL + db AWAKENING + db PARLYZ_HEAL + db FULL_HEAL + db POKE_FLUTE + ; PP + db ETHER + db MAX_ETHER + db ELIXER + db MAX_ELIXER + ; Battle Raises + db X_ACCURACY + db X_ATTACK + db X_DEFEND + db X_SPEED + db X_SPECIAL + db GUARD_SPEC + db DIRE_HIT + ; Permanent Raises + db RARE_CANDY + db HP_UP + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db PP_UP + ; Evolution Items + db LEAF_STONE + db FIRE_STONE + db THUNDER_STONE + db WATER_STONE + db MOON_STONE + db HEART_STONE + db POISON_STONE + db ICE_STONE + db METAL_COAT + db UP_GRADE + db DUBIOUS_DISC + db BLK_AUGURITE + db PROTECTOR + db CANDY_JAR + ; Other Non-Key Items + db DOME_FOSSIL + db HELIX_FOSSIL + db WING_FOSSIL + db OLD_AMBER + db NUGGET + db BOTTLE_CAP + ; Key Items With No Use + db COIN_CASE + db SILPHLETTER + db S_S_TICKET + db OLD_SEA_MAP + db CITRINE_PASS + db SECRET_KEY + db BIKE_VOUCHER + db CARD_KEY + db GOLD_TEETH + db OAKS_PARCEL + db LIFT_KEY + db SILPH_SCOPE + db TEA + db EXP_ALL + ; TMs + db TM01 + db TM01 + 1 + db TM01 + 2 + db TM01 + 3 + db TM01 + 4 + db TM01 + 5 + db TM01 + 6 + db TM01 + 7 + db TM01 + 8 + db TM01 + 9 + db TM01 + 10 + db TM01 + 11 + db TM01 + 12 + db TM01 + 13 + db TM01 + 14 + db TM01 + 15 + db TM01 + 16 + db TM01 + 17 + db TM01 + 18 + db TM01 + 19 + db TM01 + 20 + db TM01 + 21 + db TM01 + 22 + db TM01 + 23 + db TM01 + 24 + db TM01 + 25 + db TM01 + 26 + db TM01 + 27 + db TM01 + 28 + db TM01 + 29 + db TM01 + 30 + db TM01 + 31 + db TM01 + 32 + db TM01 + 33 + db TM01 + 34 + db TM01 + 35 + db TM01 + 36 + db TM01 + 37 + db TM01 + 38 + db TM01 + 39 + db TM01 + 40 + db TM01 + 41 + db TM01 + 42 + db TM01 + 43 + db TM01 + 44 + db TM01 + 45 + db TM01 + 46 + db TM01 + 47 + db TM01 + 48 + db TM01 + 49 + ; HMs + db HM01 + db HM01 + 1 + db HM01 + 2 + db HM01 + 3 + db HM01 + 4 + db -1 ; end diff --git a/engine/movie/title.asm b/engine/movie/title.asm index f5bab4be..9120396d 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -91,8 +91,15 @@ DisplayTitleScreen: inc a dec b jr nz, .pokemonLogoLastTileRowLoop - + call Random + ldh a, [hRandomAdd] + cp 129 + jr c, .male + call DrawFPlayerCharacter + jr .playerskip +.male call DrawPlayerCharacter +.playerskip ; put a pokeball in the player's hand ld hl, wShadowOAMSprite10 @@ -119,11 +126,19 @@ DisplayTitleScreen: call SaveScreenTilesToBuffer2 call LoadScreenTilesFromBuffer2 call EnableLCD - + call Random + ldh a, [hRandomSub] + cp 129 + jr c, .notshocks + ld a, SANDY_SHOCKS + ld [wTitleMonSpecies], a + call LoadTitleMonSprite + jr .skip +.notshocks ld a, SCREAM_TAIL ld [wTitleMonSpecies], a call LoadTitleMonSprite - +.skip ld a, HIGH(vBGMap0 + $300) call TitleScreenCopyTileMapToVRAM call SaveScreenTilesToBuffer1 @@ -347,6 +362,43 @@ DrawPlayerCharacter: jr nz, .loop ret +DrawFPlayerCharacter: + ld hl, FPlayerCharacterTitleGraphics + ld de, vSprites + ld bc, FPlayerCharacterTitleGraphicsEnd - FPlayerCharacterTitleGraphics + ld a, BANK(FPlayerCharacterTitleGraphics) + call FarCopyData2 + call ClearSprites + xor a + ld [wFPlayerCharacterOAMTile], a + ld hl, wShadowOAM + lb de, $60, $5a + ld b, 7 +.loop2 + push de + ld c, 5 +.innerLoop2 + ld a, d + ld [hli], a ; Y + ld a, e + ld [hli], a ; X + add 8 + ld e, a + ld a, [wFPlayerCharacterOAMTile] + ld [hli], a ; tile + inc a + ld [wFPlayerCharacterOAMTile], a + inc hl + dec c + jr nz, .innerLoop2 + pop de + ld a, 8 + add d + ld d, a + dec b + jr nz, .loop2 + ret + ClearBothBGMaps: ld hl, vBGMap0 ld bc, $400 * 2 @@ -387,15 +439,15 @@ CopyrightTextString: INCLUDE "data/pokemon/title_mons.asm" -; prints version text (red, blue) +; prints version text PrintGameVersionOnTitleScreen: - hlcoord 7, 8 + hlcoord 6, 8 ld de, VersionOnTitleScreenText jp PlaceString ; these point to special tiles specifically loaded for that purpose and are not usual text VersionOnTitleScreenText: - db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" + db $61,$62,$63,$64,$65,$66,$67,$68,"@" DebugNewGamePlayerName: db "NINTEN@" diff --git a/engine/overworld/field_moves.asm b/engine/overworld/field_moves.asm index 761e0aa5..9cfaf19b 100644 --- a/engine/overworld/field_moves.asm +++ b/engine/overworld/field_moves.asm @@ -33,7 +33,7 @@ TrySurf: and a jr nz, .no2 call GetPartyMonName2 - ld a, SURFBOARD + ld a, POCKET_LAPRAS ld [wcf91], a ld [wPseudoItemID], a call UseItem diff --git a/engine/overworld/use_another_repel.asm b/engine/overworld/use_another_repel.asm new file mode 100644 index 00000000..7e1a7b6d --- /dev/null +++ b/engine/overworld/use_another_repel.asm @@ -0,0 +1,41 @@ +UseAnotherRepel:: + ld b, REPEL + push bc + call IsItemInBag + pop bc + jr nz, .checkUse + ld b, SUPER_REPEL + push bc + call IsItemInBag + pop bc + jr nz, .checkUse + ld b, MAX_REPEL + push bc + call IsItemInBag + pop bc + jr nz, .checkUse + jr .done +.checkUse + push bc + ld hl, RepelUseAnotherText + call PrintText + call YesNoChoice + pop bc + ld a, [wCurrentMenuItem] + and a + jr nz, .done + ld a, b + ld [wcf91], a ;load item to be used + ld [wd11e], a ;load item so its name can be grabbed + predef GetIndexOfItemInBag + ld a, b + ld [wWhichPokemon], a ; load item index to be deleted when used + call GetItemName ;get the item name into de register + call CopyToStringBuffer ; copy name from de to wcf4b so it shows up in text + call UseItem ;use the item +.done + ret + +RepelUseAnotherText: + text_far _RepelUseAnotherText + text_end diff --git a/gfx/blocksets/facility.bst b/gfx/blocksets/facility.bst index 31d69fd1..e2423958 100644 Binary files a/gfx/blocksets/facility.bst and b/gfx/blocksets/facility.bst differ diff --git a/gfx/tilesets/facility.png b/gfx/tilesets/facility.png index 3654900e..1840ee3a 100644 Binary files a/gfx/tilesets/facility.png and b/gfx/tilesets/facility.png differ diff --git a/gfx/title/fplayer.png b/gfx/title/fplayer.png new file mode 100644 index 00000000..2a9ae184 Binary files /dev/null and b/gfx/title/fplayer.png differ diff --git a/gfx/title/kep_version.png b/gfx/title/kep_version.png index a934906a..86550971 100644 Binary files a/gfx/title/kep_version.png and b/gfx/title/kep_version.png differ diff --git a/gfx/trainer_card.asm b/gfx/trainer_card.asm index 3eca64b9..dc573e2d 100644 --- a/gfx/trainer_card.asm +++ b/gfx/trainer_card.asm @@ -6,3 +6,6 @@ TrainerInfoTextBoxTileGraphicsEnd: CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" + +FPlayerCharacterTitleGraphics: INCBIN "gfx/title/fplayer.2bpp" +FPlayerCharacterTitleGraphicsEnd: diff --git a/home/header.asm b/home/header.asm index b8810059..bc1b4d8d 100644 --- a/home/header.asm +++ b/home/header.asm @@ -1,7 +1,8 @@ ; rst vectors (unused) SECTION "rst0", ROM0[$0000] - rst $38 +_Bankswitch:: + jp Bankswitch ds $08 - @, 0 ; unused diff --git a/home/list_menu.asm b/home/list_menu.asm index 09c73154..ad0089cf 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -50,7 +50,7 @@ DisplayListMenuID:: ld [wTopMenuItemY], a ld a, 5 ld [wTopMenuItemX], a - ld a, A_BUTTON | B_BUTTON | SELECT + ld a, A_BUTTON | B_BUTTON | SELECT | START ld [wMenuWatchedKeys], a ld c, 10 call DelayFrames @@ -178,6 +178,8 @@ DisplayListMenuIDLoop:: jp nz, ExitListMenu ; if so, exit the menu bit BIT_SELECT, a jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries + bit 3, a ; was the start button pressed? + jp nz, .sortItems ; if so, allow the player to swap menu entries ld b, a bit BIT_D_DOWN, b ld hl, wListScrollOffset @@ -197,6 +199,10 @@ DisplayListMenuIDLoop:: jp z, DisplayListMenuIDLoop dec [hl] jp DisplayListMenuIDLoop +.sortItems + rra ; Sets the zero flag to 0 so the sorting function will happen + rla + jp BankswitchBack DisplayChooseQuantityMenu:: ; text box dimensions/coordinates for just quantity diff --git a/home/npc_movement.asm b/home/npc_movement.asm index a3367f9a..efa19420 100644 --- a/home/npc_movement.asm +++ b/home/npc_movement.asm @@ -51,14 +51,4 @@ EndNPCMovementScript:: farjp _EndNPCMovementScript DebugPressedOrHeldB:: -IF DEF(_DEBUG) - ld a, [wd732] - bit 1, a - ret z - ldh a, [hJoyHeld] - bit BIT_B_BUTTON, a - ret nz - ldh a, [hJoyPressed] - bit BIT_B_BUTTON, a -ENDC ret diff --git a/home/text_script.asm b/home/text_script.asm index 458bc555..21140caa 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -200,6 +200,7 @@ DisplayPlayerBlackedOutText:: DisplayRepelWoreOffText:: ld hl, RepelWoreOffText call PrintText + callfar UseAnotherRepel jp AfterDisplayingTextID RepelWoreOffText:: diff --git a/home/trainers.asm b/home/trainers.asm index 22f5513b..718034bc 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -127,10 +127,6 @@ TalkToTrainer:: ; checks if any trainers are seeing the player and wanting to fight CheckFightingMapTrainers:: -IF DEF(_DEBUG) - call DebugPressedOrHeldB - jr nz, .trainerNotEngaging -ENDC call CheckForEngagingTrainers ld a, [wSpriteIndex] cp $ff diff --git a/macros/farcall.asm b/macros/farcall.asm index a40bff36..a8262875 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -1,13 +1,13 @@ MACRO farcall ld b, BANK(\1) ld hl, \1 - call Bankswitch + rst _Bankswitch ENDM MACRO callfar ld hl, \1 ld b, BANK(\1) - call Bankswitch + rst _Bankswitch ENDM MACRO farjp diff --git a/main.asm b/main.asm index 2cd8fb52..6982d4c0 100644 --- a/main.asm +++ b/main.asm @@ -346,6 +346,7 @@ SECTION "Itemfinder 2", ROMX INCLUDE "engine/items/itemfinder.asm" INCLUDE "engine/menus/league_pc.asm" INCLUDE "engine/events/hidden_items.asm" +INCLUDE "engine/overworld/use_another_repel.asm" SECTION "bank1E", ROMX diff --git a/maps/GiovannisRoom.blk b/maps/GiovannisRoom.blk index 2c6712ec..d9b5172a 100644 --- a/maps/GiovannisRoom.blk +++ b/maps/GiovannisRoom.blk @@ -1 +1 @@ -............@AABAAAAB..DnF:;F..@+B 55..DwEF GF..DwEF 5'F..DwEF 59..DwEF'..H J55..DF555..DF*+AAB..DGGq^..D SCG5..HIIJ3333J. \ No newline at end of file +............@AABAAAAB..DnFnF..@+B 55..DwEF G..DwEF 5'..DwEF 59..DwEF'..H J55..DF555..DF*+AAB..DGGq^..D SCG5..HIIJ3333J. \ No newline at end of file diff --git a/maps/PokemonMansion1F.blk b/maps/PokemonMansion1F.blk index afcb8e7e..fedc87cb 100644 --- a/maps/PokemonMansion1F.blk +++ b/maps/PokemonMansion1F.blk @@ -1,9 +1 @@ -@AAAAAAAAAAAAAB\S]\wGF@c]DCFSXWXUFPIIXF8G]D:; -FCC181]D?; -SJIIIXWQD?; -F]D?; -FHXWQD?; -F R]D?; -FDFD?; -F NDFD?; -FFHX?;WJIIIIII \ No newline at end of file +@AAAAAAAAAAAAAB\S   ]\wGF@c]DCFSXWXUFPIIXF8G]D :; FCC181]D?;SJIIIXWQD ?; F]D?;FHXWQD?;F R]D ?; FDFD?;F NDFD ?; FFHX?;WJIIIIII \ No newline at end of file diff --git a/maps/RocketHideoutB2F.blk b/maps/RocketHideoutB2F.blk index b8fc41f8..e8da6dc1 100644 --- a/maps/RocketHideoutB2F.blk +++ b/maps/RocketHideoutB2F.blk @@ -1,3 +1,3 @@ -.............................................@AAzAAAAA@ABAABD -UoF nFy9&F FD - 'V Fy5YFD5)@AAAABD)US,WJD ) F...D  YnF...D)& DF...HI3333333HIJ... \ No newline at end of file +.............................................@AAzAAAAA@ABAAB +UoF nFy9&F F + 'V Fy5YF5)@AAAAB)US,WJ ) F...  YnF...)& DF...H33333333HIJ... \ No newline at end of file diff --git a/maps/RocketHideoutB3F.blk b/maps/RocketHideoutB3F.blk index 23b45286..e33bb492 100644 --- a/maps/RocketHideoutB3F.blk +++ b/maps/RocketHideoutB3F.blk @@ -1,2 +1,2 @@ -..................................@AAAAAAAAAB....DnF....@AAAAcZIXF....y&FF....y&5WIQ....D5 &FF....D')F....D5oFIIIJ....y -`*qb.......D)df.......@A*gpF.......HIIIIIIJ... \ No newline at end of file +..................................@AAAAAAAAAB....DnF....@AAAAcZIXF....y&F....y&5WIQ....5 &F....')F....5oFIIIJ....y +`*qb.......)df.......@A*gpF.......HIIIIIIJ... \ No newline at end of file diff --git a/maps/SilphCo1F.blk b/maps/SilphCo1F.blk index 4a8cd0a9..a7b2b83b 100644 --- a/maps/SilphCo1F.blk +++ b/maps/SilphCo1F.blk @@ -1 +1 @@ -<===<=$=>===}>~""#HXWJ FDFD [[ FD [[[[[[[9FD [[ FDFD  FHIIIX,WIIIIIIIJ \ No newline at end of file +<===<=$=>===}>~""#HXWJ FDSIRSIRFD SJ[HIJ[HR FDF[[[[[[[DFD +B[@AB[@* FD+A*+A*FD  FHIIIX,WIIIIIIIJ \ No newline at end of file diff --git a/maps/SilphCo4F.blk b/maps/SilphCo4F.blk index 628f3898..51c756ab 100644 --- a/maps/SilphCo4F.blk +++ b/maps/SilphCo4F.blk @@ -1 +1 @@ -<===>aaaa<==$}>D55F/DFD555FGGD@cgBD55F/DD 4 FD5FcgaDD6FDF/DD 6 F@cgAcgApD6FD/D 7 FHIIIIIIIIIHIIIJ \ No newline at end of file +<===>aaaa<==$}>D55F/DFD555FGGD@cgBD55F/DD 4 FD5FcgaDD6FDF/DD 6 F@cgAcgApD6FD/D 7 FHIIIIIIIIIHIIIJ \ No newline at end of file diff --git a/maps/SilphGauntlet6F.blk b/maps/SilphGauntlet6F.blk index 125b7179..8bf20a43 100644 --- a/maps/SilphGauntlet6F.blk +++ b/maps/SilphGauntlet6F.blk @@ -1 +1 @@ -@AAB@AABD!qAeeApuvFDSRFHIIJIIIIHWJddfdE@*gdfdED/dfHWHIIHXJDGD9 4D99 D7pp HIII33IIIJ \ No newline at end of file +@AAB@AABD!qAeeApuvFDSRFHIIJIIIIHWJddfdE@*gdfdED/dfHWHIIHXJDG9 499 D7pp HIII33IIIJ \ No newline at end of file diff --git a/ram/wram.asm b/ram/wram.asm index d65f8e49..18e8fcbd 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -861,6 +861,7 @@ wNumShakes:: wWhichBadge:: wTitleMonSpecies:: wPlayerCharacterOAMTile:: +wFPlayerCharacterOAMTile:: ; the number of small stars OAM entries to move down wMoveDownSmallStarsOAMCount:: wChargeMoveNum:: diff --git a/scripts/CeladonUniversityOutside.asm b/scripts/CeladonUniversityOutside.asm index 259cc62e..eda3012a 100644 --- a/scripts/CeladonUniversityOutside.asm +++ b/scripts/CeladonUniversityOutside.asm @@ -37,10 +37,19 @@ CeladonUniversityOutsideText1: ; Starter girl set 6, [hl] set 7, [hl] call Delay3 + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .hardmode1 ld a, OPP_STUDENT ld [wCurOpponent], a ld a, 4 ld [wTrainerNo], a + jr .skip1 +.hardmode1 + ld a, OPP_STUDENT + ld [wCurOpponent], a + ld a, 5 + ld [wTrainerNo], a +.skip1 ld [wIsTrainerBattle], a ld a, $2 ld [wCeladonUniversityOutsideCurScript], a @@ -77,10 +86,19 @@ CeladonUniversityOutsideText2: ; Porygon guy set 6, [hl] set 7, [hl] call Delay3 + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .hardmode2 ld a, OPP_SUPER_NERD ld [wCurOpponent], a ld a, 6 ld [wTrainerNo], a + jr .skip2 +.hardmode2 + ld a, OPP_SUPER_NERD + ld [wCurOpponent], a + ld a, 13 + ld [wTrainerNo], a +.skip2 ld [wIsTrainerBattle], a ld a, $2 ld [wCeladonUniversityOutsideCurScript], a @@ -117,10 +135,19 @@ CeladonUniversityOutsideText3: ; Golem guy set 6, [hl] set 7, [hl] call Delay3 + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .hardmode3 ld a, OPP_ENGINEER ld [wCurOpponent], a ld a, 1 ld [wTrainerNo], a + jr .skip3 +.hardmode3 + ld a, OPP_ENGINEER + ld [wCurOpponent], a + ld a, 5 + ld [wTrainerNo], a +.skip3 ld [wIsTrainerBattle], a ld a, $2 ld [wCeladonUniversityOutsideCurScript], a @@ -157,10 +184,19 @@ CeladonUniversityOutsideText4: ; Mt Moon guy set 6, [hl] set 7, [hl] call Delay3 + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .hardmode4 ld a, OPP_SUPER_NERD ld [wCurOpponent], a ld a, 7 ld [wTrainerNo], a + jr .skip4 +.hardmode4 + ld a, OPP_SUPER_NERD + ld [wCurOpponent], a + ld a, 14 + ld [wTrainerNo], a +.skip4 ld [wIsTrainerBattle], a ld a, $2 ld [wCeladonUniversityOutsideCurScript], a diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index 9a3e0e43..36827390 100644 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -53,6 +53,7 @@ CinnabarIslandScript1: CinnabarIsland_TextPointers: dw CinnabarIslandText1 dw CinnabarIslandText2 + dw CinnabarPocketLapras dw CinnabarIslandText3 dw MartSignText dw PokeCenterSignText @@ -83,3 +84,88 @@ CinnabarIslandText6: CinnabarIslandText7: text_far _CinnabarIslandText7 text_end + +_CinnabarPocketLapras1: + text "Bah, this LAPRAS" + line "just doesn't want" + cont "to fight! Can you" + cont "believe that?" + + para "All it likes to" + line "do is SURF, but" + cont "my GYARADOS can" + cont "already do that!" + + para "Here, take it. I" + line "can't stand its" + cont "big ol' eyes" + cont "looking at me." + prompt + +_PocketLaprasNoRoomText: + text "You don't have" + line "room, either?" + + para "Well, it's not" + line "like it's going" + cont "anywhere..." + done + +_ReceivedPocketLaprasText: + text " received" + line "@" + text_ram wStringBuffer + text "!@" + text_end + +_CinnabarPocketLapras2: + text "Take care of it" + line "though, alright?" + cont "LAPRAS is very" + cont "endangered." + + para "You should stay" + line "safe, too." ; haha, llinos, you sly dog + done + +; for some reason it crashed super hard if I didn't do this. +CinnabarPocketLapras1: + text_far _CinnabarPocketLapras1 + text_end + +CinnabarPocketLapras2: + text_far _CinnabarPocketLapras2 + text_end + +PocketLaprasNoRoomText: + text_far _PocketLaprasNoRoomText + text_end + +ReceivedPocketLaprasText: + text_far _ReceivedPocketLaprasText + text_end + +CinnabarPocketLapras: + text_asm + CheckEvent EVENT_GOT_POCKET_LAPRAS + jr nz, .skip + ld hl, CinnabarPocketLapras1 + call PrintText + lb bc, POCKET_LAPRAS, 1 + call GiveItem + jr nc, .bag_full + ld hl, ReceivedPocketLaprasText + call PrintText + ld a, SFX_GET_KEY_ITEM + call PlaySound + SetEvent EVENT_GOT_POCKET_LAPRAS ; if you get here, it's done. + jr .end +.bag_full + ld hl, PocketLaprasNoRoomText + jr .end +.skip + ld hl, CinnabarPocketLapras2 + call PrintText + ; fallthrough +.end + jp TextScriptEnd diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 22529687..15469cf3 100644 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -856,6 +856,25 @@ OaksLab_TextPointers2: dw OaksLabText9 dw OaksLabText10 dw OaksLabText11 + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText ;placeholder + dw OakLabEmailText OaksLabText1: text_asm diff --git a/text/CeladonUniversityOutside.asm b/text/CeladonUniversityOutside.asm index 7123a7a2..238113a9 100644 --- a/text/CeladonUniversityOutside.asm +++ b/text/CeladonUniversityOutside.asm @@ -12,7 +12,7 @@ _CeladonUniversityOutsideBattleText1:: done _CeladonUniversityOutsideBattleText2:: - text "Ok! Go, PORYGON!" + text "Let's go!" done _CeladonUniversityOutsideBattleText3:: @@ -32,9 +32,9 @@ _CeladonUniversityOutsideLoseText1:: prompt _CeladonUniversityOutsideLoseText2:: - text "It" - line "needs an" - cont "UP-GRADE." + text "Darn!" + line "It must need an" + cont "update!" prompt _CeladonUniversityOutsideLoseText3:: @@ -61,7 +61,7 @@ _CeladonUniversityOutsideAfterBattleText:: _CeladonUniversityOutsideYesNo2:: text "I've been working" - line "on a digital" + line "on an artificial" cont "#MON." para "Want to help me" diff --git a/text/FightingDojo.asm b/text/FightingDojo.asm index d9c56be9..3589f11e 100644 --- a/text/FightingDojo.asm +++ b/text/FightingDojo.asm @@ -153,3 +153,4 @@ _KoichiRematchDefeatedText:: text "I have" line "been defeated" cont "once more..." + done diff --git a/text/SSAnneB1FRooms.asm b/text/SSAnneB1FRooms.asm index 8072fc85..98da207e 100644 --- a/text/SSAnneB1FRooms.asm +++ b/text/SSAnneB1FRooms.asm @@ -31,8 +31,8 @@ _SSAnne10EndBattleText2:: _SSAnne10AfterBattleText2:: text "Did you see the" - line "FISHING GURU in" - cont "VERMILION CITY?" + line "FISHING GURU near" + cont "CERULEAN CITY?" done _SSAnne10BattleText3:: @@ -64,7 +64,8 @@ _SSAnne10EndBattleText4:: _SSAnne10AfterBattleText4:: text "Sea #MON live" line "in deep water." - cont "You'll need a ROD!" + cont "You'll need a" + cont "FISHING ROD!" done _SSAnne10BattleText5:: diff --git a/text/SilphCo1F.asm b/text/SilphCo1F.asm index ec24d070..67e9ba6d 100644 --- a/text/SilphCo1F.asm +++ b/text/SilphCo1F.asm @@ -1,9 +1,9 @@ _SilphCo1Text1:: text "Welcome!" - para "The PRESIDENT is" - line "in the boardroom" - cont "on 11F!" + para "The CHIEF is in" + line "the boardroom on" + cont "the top floor!" done _SilphCo1Text2::