From b67b37a4df77695931f871ef86104f0674a29042 Mon Sep 17 00:00:00 2001 From: Misty Date: Fri, 16 Feb 2024 17:19:50 -0500 Subject: [PATCH 01/10] 0 to a 5 Disarming Voice has 10PP instead of 15PP, simple mistake, simple fix! --- data/moves/moves.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/moves/moves.asm b/data/moves/moves.asm index f2217b27..b6221ff6 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -193,7 +193,7 @@ Moves: move FAKE_TEARS, SPECIAL_DOWN2_EFFECT, 0, DARK, 100, 20 move FALSE_SURRENDER, SWIFT_EFFECT, 80, DARK, 100, 10 ; figure out the actual name another time move KOWTOW_CLEAVE, SWIFT_EFFECT, 85, DARK, 100, 10 - move DISARMING_VOICE, SWIFT_EFFECT, 40, FAIRY, 100, 10 + move DISARMING_VOICE, SWIFT_EFFECT, 40, FAIRY, 100, 15 move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10 move UPPERCUT, FLINCH_SIDE_EFFECT2, 55, FIGHTING, 80, 15 move POWDER_SNOW, FREEZE_SIDE_EFFECT, 40, ICE, 100, 25 From 65c8f70856670bb5e832850ae064a19653da835a Mon Sep 17 00:00:00 2001 From: jojobear13 Date: Sat, 17 Feb 2024 16:34:08 -0600 Subject: [PATCH 02/10] fix PC in oak's lab glitching out --- scripts/OaksLab.asm | 19 +++++++++++++++++++ text/FightingDojo.asm | 1 + 2 files changed, 20 insertions(+) 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/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 From cf504c7f8f9e1161d8bda9cd364d0c89a736e45b Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Sat, 9 Mar 2024 11:34:22 +0000 Subject: [PATCH 03/10] 1.3 prep: Part A Uploading some of the 1.3 stuff to begin with, mainly the changes that are fully finished so far. - After earning all 8 badges, the trainers in Celadon University get a decent level increase, allowing for a much better grinding spot between Victory Road and the Pokemon League. - A handful of changes to move animations, credit to wrulfy for implementing some of these in their Carmine Red hack: - Struggle has the user bouncing up and down similarly to Splash, rather than shaking back and forth. - Slam has the user move forward while attacking. - Mega Kick has the user move back, then lunging forward while attacking. - Jump Kick has the user move forward while attacking, as well as a sound effect change. - Horn Drill uses a unique animation of a rotating star effect, as well as darkening the screen. - Both confusion-inflicting status moves show birds circling the enemy. - Hyper Beam is slightly slower, and shakes the screen after the hit. - Drill Peck uses the same circling star animation as Horn Drill. - Solar Beam has a 'gathering energy' effect while lighting up the screen. - SmokeScreen is a lot faster. - Skull Bash shakes the screen and moves the user horizontally while attacking. - Hi Jump Kick made slightly faster. - Dazzling Gleam lights up the screen and has been made slightly longer. - Acid Armor has been given a proper animatio, and no longer makes the user invisible. - It's now possible to Escape Rope out of the SS Anne and Silph Gauntlet 3F. - Changes made to a handful of Victory Road and Silph Gauntlet trainer parties. - Slight level buffs to the Elite 4 initial matches, and significant buffs to their rematches. - Silph Gauntlet Gym rematches have been increased by a few levels, and Chief has been similarly buffed. - Slight encounter tweaks to Route 23 - Level buffs to Victory Road's wild encounters - Minor text fixes - --- README.md | 2 +- constants/move_animation_constants.asm | 1 + data/battle_anims/subanimations.asm | 12 +++- data/moves/animations.asm | 74 +++++++++++++------- data/tilesets/escape_rope_tilesets.asm | 1 + data/trainers/parties.asm | 93 +++++++++++++------------- data/trainers/rival_parties.asm | 20 +++--- data/trainers/scaled_parties.asm | 50 ++++++++------ data/wild/maps/Route23.asm | 10 +-- data/wild/maps/VictoryRoad1F.asm | 20 +++--- data/wild/maps/VictoryRoad2F.asm | 22 +++--- data/wild/maps/VictoryRoad3F.asm | 20 +++--- scripts/CeladonUniversityOutside.asm | 36 ++++++++++ text/CeladonUniversityOutside.asm | 10 +-- text/SSAnneB1FRooms.asm | 7 +- text/SilphCo1F.asm | 6 +- 16 files changed, 229 insertions(+), 155 deletions(-) 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/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/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/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/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/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/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:: From 44304c57fc3c44a408f1cfcb79147c943bf2a3d5 Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Mon, 1 Apr 2024 10:54:05 +0100 Subject: [PATCH 04/10] April Fools! Go watch the video! (Also, most of it is BS, all you need is a Fire Stone and any Dragonite.) --- constants/move_constants.asm | 1 + constants/pokedex_constants.asm | 1 + constants/pokemon_constants.asm | 2 +- crysaudio/cry_headers.asm | 1 + data/moves/animations.asm | 11 ++++++++ data/moves/moves.asm | 1 + data/moves/names.asm | 1 + data/moves/sfx.asm | 1 + data/pokemon/base_stats.asm | 1 + data/pokemon/base_stats/yoshi.asm | 26 ++++++++++++++++++ data/pokemon/dex_entries.asm | 9 +++++- data/pokemon/dex_order.asm | 2 +- data/pokemon/evos_moves.asm | 9 ++++++ data/pokemon/menu_icons.asm | 1 + data/pokemon/names.asm | 2 +- data/pokemon/new_dex_text.asm | 10 +++++++ data/pokemon/palettes.asm | 1 + .../events/hidden_objects/museum_fossils.asm | 6 ---- engine/menus/pokedex.asm | 2 +- engine/movie/title.asm | 2 +- gfx/pics.asm | 3 +- gfx/pokemon/back/yoshib.png | Bin 0 -> 609 bytes gfx/pokemon/front/yoshi.png | Bin 0 -> 825 bytes home/pics.asm | 2 -- home/pokemon.asm | 4 --- scripts/CeladonMansion3F.asm | 2 +- 26 files changed, 81 insertions(+), 20 deletions(-) create mode 100644 data/pokemon/base_stats/yoshi.asm create mode 100644 gfx/pokemon/back/yoshib.png create mode 100644 gfx/pokemon/front/yoshi.png diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 2a7625b6..f12ef01f 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -192,6 +192,7 @@ const NASTY_PLOT ; b8 const UPPERCUT ; b9 const POWDER_SNOW ; b10 + const EGG_TOSS ; b10 const STRUGGLE ; formerly a5, now c0 DEF NUM_ATTACKS EQU const_value - 1 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index abc8c98f..b70cb185 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -255,5 +255,6 @@ const DEX_MEW ; 151 (249) const DEX_MELTAN ; (250) const DEX_MELMETAL ; (251) + const DEX_YOSHI DEF NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index c2c74bd6..3dd2555a 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -259,7 +259,7 @@ const TAUROS_PB ; $FA const GORILLAIMO ; $FB const FOSSIL_KABUTOPS ; $FC (was B6) - const FOSSIL_AERODACTYL ; $FD (was B7) + const YOSHI ; $FD (was B7) const MON_GHOST ; $FE (was B8) DEF NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/crysaudio/cry_headers.asm b/crysaudio/cry_headers.asm index 7fccf934..24234468 100644 --- a/crysaudio/cry_headers.asm +++ b/crysaudio/cry_headers.asm @@ -256,3 +256,4 @@ PokemonCries:: mon_cry CRY_PARAS, 238, 383 ; MEW mon_cry CRY_NATU, -18, 89 ; MELTAN mon_cry CRY_AMPHAROS, 158, 592 ; MELMETAL + mon_cry CRY_DUNSPARCE, 383, 383 ; YOSHI diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 5a6ec261..e6cfb3f1 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -186,6 +186,7 @@ AttackAnimationPointers: dw NastyPlotAnim dw UppercutAnim dw PowderSnowAnim + dw EggTossAnim dw StruggleAnim assert_table_length NUM_ATTACKS dw ShowPicAnim @@ -1378,6 +1379,16 @@ KowtowCleaveAnim: DisarmingVoiceAnim: battle_anim DISARMING_VOICE, SUBANIM_0_HEART_1_MUSIC, 1, 6 db -1 ; end + +EggTossAnim: + battle_anim DEFENSE_CURL, SE_SLIDE_MON_DOWN + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + battle_anim BARRAGE, SUBANIM_1_CIRCLE_BLACK_TOSS, 1, 4 + battle_anim DOUBLESLAP, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim AMNESIA, SE_SLIDE_ENEMY_MON_OFF + battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC + db -1 ; end BallTossAnim: battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_HIGH, 0, 3 diff --git a/data/moves/moves.asm b/data/moves/moves.asm index b6221ff6..c6691fd3 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -197,5 +197,6 @@ Moves: move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10 move UPPERCUT, FLINCH_SIDE_EFFECT2, 55, FIGHTING, 80, 15 move POWDER_SNOW, FREEZE_SIDE_EFFECT, 40, ICE, 100, 25 + move EGG_TOSS, NO_ADDITIONAL_EFFECT, 90, DRAGON, 95, 10 move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 assert_table_length NUM_ATTACKS diff --git a/data/moves/names.asm b/data/moves/names.asm index ffded4b8..82542c00 100644 --- a/data/moves/names.asm +++ b/data/moves/names.asm @@ -186,5 +186,6 @@ MoveNames:: ; 12chr limit li "NASTY PLOT" li "UPPERCUT" li "POWDER SNOW" + li "EGG TOSS" li "STRUGGLE" assert_list_length NUM_ATTACKS diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm index c959ea83..536243ca 100644 --- a/data/moves/sfx.asm +++ b/data/moves/sfx.asm @@ -187,6 +187,7 @@ MoveSoundTable: db SFX_BATTLE_09, $e8, $10 ; NASTY_PLOT db SFX_SUPER_EFFECTIVE, $00, $e0 ; UPPERCUT db SFX_BATTLE_28, $40, $80 ; POWDER_SNOW + db SFX_BATTLE_34, $00, $40 ; EGG_TOSS db SFX_BATTLE_0B, $00, $80 ; STRUGGLE assert_table_length NUM_ATTACKS diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm index 0d47b0cc..8f8f8017 100644 --- a/data/pokemon/base_stats.asm +++ b/data/pokemon/base_stats.asm @@ -251,4 +251,5 @@ INCLUDE "data/pokemon/base_stats/mewtwo.asm" INCLUDE "data/pokemon/base_stats/mew.asm" INCLUDE "data/pokemon/base_stats/meltan.asm" INCLUDE "data/pokemon/base_stats/melmetal.asm" +INCLUDE "data/pokemon/base_stats/yoshi.asm" assert_table_length NUM_POKEMON diff --git a/data/pokemon/base_stats/yoshi.asm b/data/pokemon/base_stats/yoshi.asm new file mode 100644 index 00000000..e773fc60 --- /dev/null +++ b/data/pokemon/base_stats/yoshi.asm @@ -0,0 +1,26 @@ + db DEX_YOSHI ; pokedex id + + db 91, 134, 95, 80, 100 + ; hp atk def spd spc + + db DRAGON, NORMAL ; type + db 9 ; catch rate + db 218 ; base exp + + INCBIN "gfx/pokemon/front/yoshi.pic", 0, 1 ; sprite dimensions + dw YoshiPicFront, YoshiPicBack + + db WRAP, LEER, THUNDER_WAVE, AGILITY ; level 1 learnset + db GROWTH_SLOW ; growth rate + + ; tm/hm learnset + tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, EGG_BOMB, \ + FIRE_BLAST, SWIFT, SKULL_BASH, SOFTBOILED, REST, \ + THUNDER_WAVE, SUBSTITUTE, SURF, STRENGTH + ; end + + db BANK(YoshiPicFront) + assert BANK(YoshiPicFront) == BANK(YoshiPicBack) diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index af2b8d29..bb405334 100644 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -252,7 +252,7 @@ PokedexEntryPointers: dw TaurosPBDexEntry dw GorillaimoDexEntry dw MissingNoDexEntry - dw MissingNoDexEntry + dw YoshiDexEntry dw MissingNoDexEntry assert_table_length NUM_POKEMON_INDEXES @@ -2024,4 +2024,11 @@ GorillaimoDexEntry: dw 4080 text_far _GorillaimoDexEntry text_end + +YoshiDexEntry: + db "DINOSAUR@" + db 5,11 + dw 1990 + text_far _YoshiDexEntry + text_end \ No newline at end of file diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm index 76656719..f4cd6426 100644 --- a/data/pokemon/dex_order.asm +++ b/data/pokemon/dex_order.asm @@ -252,6 +252,6 @@ PokedexOrder: db DEX_TAUROS_PB db DEX_GORILLAIMO db 0 ; MISSINGNO. - db 0 ; MISSINGNO. + db DEX_YOSHI db 0 ; MISSINGNO. assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 4f006def..8c8fd5d8 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1121,6 +1121,7 @@ VenonatEvosMoves: DragoniteEvosMoves: ; Evolutions + db EV_ITEM, FIRE_STONE, 1, YOSHI db 0 ; Learnset db 10, THUNDER_WAVE @@ -3495,6 +3496,14 @@ FossilAerodactylEvosMoves: ; Evolutions db 0 ; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 55, EGG_BOMB + db 60, HYPER_BEAM + db 65, THUNDER + db 75, EGG_TOSS db 0 MonGhostEvosMoves: diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm index 13053cb4..6b3c4dea 100644 --- a/data/pokemon/menu_icons.asm +++ b/data/pokemon/menu_icons.asm @@ -251,4 +251,5 @@ MonPartyData: nybble ICON_CAT ; Mew nybble ICON_BALL ; Meltan nybble ICON_BALL ; Melmetal + nybble ICON_MON ; Yoshi end_nybble_array NUM_POKEMON diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index c6144ce8..770450f7 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -252,7 +252,7 @@ MonsterNames:: db "TAUROS@@@@" ; Paldean, Blaze db "GORILLAIMO" db "MISSINGNO." - db "MISSINGNO." + db "YOSHI@@@@@" db "MISSINGNO." assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/new_dex_text.asm b/data/pokemon/new_dex_text.asm index d5f70602..8ad180aa 100644 --- a/data/pokemon/new_dex_text.asm +++ b/data/pokemon/new_dex_text.asm @@ -998,6 +998,16 @@ _GorillaimoDexEntry:: next "battling GAWARHED" dex +_YoshiDexEntry:: + text "This rare species" + next "is known for its" + next "long tongue and" + + page "playful demeanor." + next "You can even ride" + next "on its back" + dex + _MissingNoDexEntry:: ; unused text "This is a newly" next "discovered" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index 773cdaeb..e51f97fb 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -252,4 +252,5 @@ MonsterPalettes: db PAL_MEWMON ; MEW db PAL_YELLOWMON ; MELTAN db PAL_YELLOWMON ; MELMETAL + db PAL_GREENMON ; YOSHI assert_table_length NUM_POKEMON + 1 diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index a3863273..1f4694bd 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -1,7 +1,4 @@ AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre AerodactylFossilText ret @@ -11,9 +8,6 @@ AerodactylFossilText:: text_end KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre KabutopsFossilText ret diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 723b1845..bfad6d57 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -202,7 +202,7 @@ HandlePokedexListMenu: ld de, PokedexMenuItemsText call PlaceString ; find the highest pokedex number among the pokemon the player has seen - ld b, 252 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. + ld b, 253 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. .maxSeenPokemonLoop ld a, [hld] ld c, 8 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index f5bab4be..36a10813 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -398,7 +398,7 @@ VersionOnTitleScreenText: db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" DebugNewGamePlayerName: - db "NINTEN@" + db "J.ESTER@" DebugNewGameRivalName: db "SONY@" diff --git a/gfx/pics.asm b/gfx/pics.asm index db5e343c..d1d6aa4c 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -470,9 +470,10 @@ PerrserkerPicFront:: INCBIN "gfx/pokemon/front/perrserker.pic" PerrserkerPicBack:: INCBIN "gfx/pokemon/back/perrserkerb.pic" MrRimePicFront:: INCBIN "gfx/pokemon/front/mr.rime.pic" MrRimePicBack:: INCBIN "gfx/pokemon/back/mr.rimeb.pic" +YoshiPicFront:: INCBIN "gfx/pokemon/front/yoshi.pic" +YoshiPicBack:: INCBIN "gfx/pokemon/back/yoshib.pic" FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" -FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" GhostPic:: INCBIN "gfx/battle/ghost.pic" SECTION "Pics 9", ROMX diff --git a/gfx/pokemon/back/yoshib.png b/gfx/pokemon/back/yoshib.png new file mode 100644 index 0000000000000000000000000000000000000000..ba94c0cf5d6d8585cbb58dc3ccf36840c2a9ba4a GIT binary patch literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk`Bp75C+IE6C$sR$z3=CCj3=9n|3=F@3LJcn% z7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4?NMQuIw+EWrdVv>KRwB0SYnZ7x{%So?lcx3&>F|ag8WRNi0dVN-jzTQVd20Mkcxj z#=1t9A%+%K#wJ!q7TN{|Rt5%l9tT*UXvob^$xN%nqQM-ZA^O{lT%ZOGxD6$lxv9k^ ziMa(>^gu27wfbZUx zlP)gpjT#TaIkZlMb>4GHzri9q%TSCZ{g&Y|7R94hdRJv4xpj|C%vhCaqpZ4%;mPcm oYxg|wS?Hi-XW49gM8qyWI8|V=RPgg&ebxsLQ0MfRw7XSbN literal 0 HcmV?d00001 diff --git a/gfx/pokemon/front/yoshi.png b/gfx/pokemon/front/yoshi.png new file mode 100644 index 0000000000000000000000000000000000000000..90cedf2781d1ab312dac6fa785d2608265a6aed8 GIT binary patch literal 825 zcmeAS@N?(olHy`uVBq!ia0vp^79h+7Bp8mz)+7Tdg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&U^Z?k>HzXM3p^r=85sBugD~Uq{1quc zLG}_)Usv`Q%rXMN)U+i>sd1CM)>q69kJCNghbR2(Owxcs1*{5e;xJ)76MT1X1Nx#9ix^5h&1+YTBD9}B!@tR;PJ$ss$tcM_b=HFwN5%)D^d%0t(~sQkO7xMx|6`F5lHKZchM zNtUmFQS|LF^RsvU+bj-GbDaLSMKt8*st3RCJe{^8xAOYIoFmUF7UwyxPnB4?C}T^` zPaY#BHb0)Lk{OfA1D4zGK6-PbBfro$x176^KPS0(%u`uEQTWBF@W7SRbhTy9@`noF zYcdawn{?)o)`5iye=g7R()hnTmf^(dD5py;N1}i8zIQ4&e9Is&2#PgNS3j3^P6 Date: Mon, 1 Apr 2024 10:54:56 +0100 Subject: [PATCH 05/10] Revert "April Fools!" This reverts commit 44304c57fc3c44a408f1cfcb79147c943bf2a3d5. --- constants/move_constants.asm | 1 - constants/pokedex_constants.asm | 1 - constants/pokemon_constants.asm | 2 +- crysaudio/cry_headers.asm | 1 - data/moves/animations.asm | 11 -------- data/moves/moves.asm | 1 - data/moves/names.asm | 1 - data/moves/sfx.asm | 1 - data/pokemon/base_stats.asm | 1 - data/pokemon/base_stats/yoshi.asm | 26 ------------------ data/pokemon/dex_entries.asm | 9 +----- data/pokemon/dex_order.asm | 2 +- data/pokemon/evos_moves.asm | 9 ------ data/pokemon/menu_icons.asm | 1 - data/pokemon/names.asm | 2 +- data/pokemon/new_dex_text.asm | 10 ------- data/pokemon/palettes.asm | 1 - .../events/hidden_objects/museum_fossils.asm | 6 ++++ engine/menus/pokedex.asm | 2 +- engine/movie/title.asm | 2 +- gfx/pics.asm | 3 +- gfx/pokemon/back/yoshib.png | Bin 609 -> 0 bytes gfx/pokemon/front/yoshi.png | Bin 825 -> 0 bytes home/pics.asm | 2 ++ home/pokemon.asm | 4 +++ scripts/CeladonMansion3F.asm | 2 +- 26 files changed, 20 insertions(+), 81 deletions(-) delete mode 100644 data/pokemon/base_stats/yoshi.asm delete mode 100644 gfx/pokemon/back/yoshib.png delete mode 100644 gfx/pokemon/front/yoshi.png diff --git a/constants/move_constants.asm b/constants/move_constants.asm index f12ef01f..2a7625b6 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -192,7 +192,6 @@ const NASTY_PLOT ; b8 const UPPERCUT ; b9 const POWDER_SNOW ; b10 - const EGG_TOSS ; b10 const STRUGGLE ; formerly a5, now c0 DEF NUM_ATTACKS EQU const_value - 1 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index b70cb185..abc8c98f 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -255,6 +255,5 @@ const DEX_MEW ; 151 (249) const DEX_MELTAN ; (250) const DEX_MELMETAL ; (251) - const DEX_YOSHI DEF NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 3dd2555a..c2c74bd6 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -259,7 +259,7 @@ const TAUROS_PB ; $FA const GORILLAIMO ; $FB const FOSSIL_KABUTOPS ; $FC (was B6) - const YOSHI ; $FD (was B7) + const FOSSIL_AERODACTYL ; $FD (was B7) const MON_GHOST ; $FE (was B8) DEF NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/crysaudio/cry_headers.asm b/crysaudio/cry_headers.asm index 24234468..7fccf934 100644 --- a/crysaudio/cry_headers.asm +++ b/crysaudio/cry_headers.asm @@ -256,4 +256,3 @@ PokemonCries:: mon_cry CRY_PARAS, 238, 383 ; MEW mon_cry CRY_NATU, -18, 89 ; MELTAN mon_cry CRY_AMPHAROS, 158, 592 ; MELMETAL - mon_cry CRY_DUNSPARCE, 383, 383 ; YOSHI diff --git a/data/moves/animations.asm b/data/moves/animations.asm index e6cfb3f1..5a6ec261 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -186,7 +186,6 @@ AttackAnimationPointers: dw NastyPlotAnim dw UppercutAnim dw PowderSnowAnim - dw EggTossAnim dw StruggleAnim assert_table_length NUM_ATTACKS dw ShowPicAnim @@ -1379,16 +1378,6 @@ KowtowCleaveAnim: DisarmingVoiceAnim: battle_anim DISARMING_VOICE, SUBANIM_0_HEART_1_MUSIC, 1, 6 db -1 ; end - -EggTossAnim: - battle_anim DEFENSE_CURL, SE_SLIDE_MON_DOWN - battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 - battle_anim NO_MOVE, SE_SHOW_MON_PIC - battle_anim BARRAGE, SUBANIM_1_CIRCLE_BLACK_TOSS, 1, 4 - battle_anim DOUBLESLAP, SUBANIM_1_STAR_BIG_MOVING, 1, 6 - battle_anim AMNESIA, SE_SLIDE_ENEMY_MON_OFF - battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC - db -1 ; end BallTossAnim: battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_HIGH, 0, 3 diff --git a/data/moves/moves.asm b/data/moves/moves.asm index c6691fd3..b6221ff6 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -197,6 +197,5 @@ Moves: move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10 move UPPERCUT, FLINCH_SIDE_EFFECT2, 55, FIGHTING, 80, 15 move POWDER_SNOW, FREEZE_SIDE_EFFECT, 40, ICE, 100, 25 - move EGG_TOSS, NO_ADDITIONAL_EFFECT, 90, DRAGON, 95, 10 move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 assert_table_length NUM_ATTACKS diff --git a/data/moves/names.asm b/data/moves/names.asm index 82542c00..ffded4b8 100644 --- a/data/moves/names.asm +++ b/data/moves/names.asm @@ -186,6 +186,5 @@ MoveNames:: ; 12chr limit li "NASTY PLOT" li "UPPERCUT" li "POWDER SNOW" - li "EGG TOSS" li "STRUGGLE" assert_list_length NUM_ATTACKS diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm index 536243ca..c959ea83 100644 --- a/data/moves/sfx.asm +++ b/data/moves/sfx.asm @@ -187,7 +187,6 @@ MoveSoundTable: db SFX_BATTLE_09, $e8, $10 ; NASTY_PLOT db SFX_SUPER_EFFECTIVE, $00, $e0 ; UPPERCUT db SFX_BATTLE_28, $40, $80 ; POWDER_SNOW - db SFX_BATTLE_34, $00, $40 ; EGG_TOSS db SFX_BATTLE_0B, $00, $80 ; STRUGGLE assert_table_length NUM_ATTACKS diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm index 8f8f8017..0d47b0cc 100644 --- a/data/pokemon/base_stats.asm +++ b/data/pokemon/base_stats.asm @@ -251,5 +251,4 @@ INCLUDE "data/pokemon/base_stats/mewtwo.asm" INCLUDE "data/pokemon/base_stats/mew.asm" INCLUDE "data/pokemon/base_stats/meltan.asm" INCLUDE "data/pokemon/base_stats/melmetal.asm" -INCLUDE "data/pokemon/base_stats/yoshi.asm" assert_table_length NUM_POKEMON diff --git a/data/pokemon/base_stats/yoshi.asm b/data/pokemon/base_stats/yoshi.asm deleted file mode 100644 index e773fc60..00000000 --- a/data/pokemon/base_stats/yoshi.asm +++ /dev/null @@ -1,26 +0,0 @@ - db DEX_YOSHI ; pokedex id - - db 91, 134, 95, 80, 100 - ; hp atk def spd spc - - db DRAGON, NORMAL ; type - db 9 ; catch rate - db 218 ; base exp - - INCBIN "gfx/pokemon/front/yoshi.pic", 0, 1 ; sprite dimensions - dw YoshiPicFront, YoshiPicBack - - db WRAP, LEER, THUNDER_WAVE, AGILITY ; level 1 learnset - db GROWTH_SLOW ; growth rate - - ; tm/hm learnset - tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, \ - DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ - HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ - MIMIC, DOUBLE_TEAM, REFLECT, BIDE, EGG_BOMB, \ - FIRE_BLAST, SWIFT, SKULL_BASH, SOFTBOILED, REST, \ - THUNDER_WAVE, SUBSTITUTE, SURF, STRENGTH - ; end - - db BANK(YoshiPicFront) - assert BANK(YoshiPicFront) == BANK(YoshiPicBack) diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index bb405334..af2b8d29 100644 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -252,7 +252,7 @@ PokedexEntryPointers: dw TaurosPBDexEntry dw GorillaimoDexEntry dw MissingNoDexEntry - dw YoshiDexEntry + dw MissingNoDexEntry dw MissingNoDexEntry assert_table_length NUM_POKEMON_INDEXES @@ -2024,11 +2024,4 @@ GorillaimoDexEntry: dw 4080 text_far _GorillaimoDexEntry text_end - -YoshiDexEntry: - db "DINOSAUR@" - db 5,11 - dw 1990 - text_far _YoshiDexEntry - text_end \ No newline at end of file diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm index f4cd6426..76656719 100644 --- a/data/pokemon/dex_order.asm +++ b/data/pokemon/dex_order.asm @@ -252,6 +252,6 @@ PokedexOrder: db DEX_TAUROS_PB db DEX_GORILLAIMO db 0 ; MISSINGNO. - db DEX_YOSHI + db 0 ; MISSINGNO. db 0 ; MISSINGNO. assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 8c8fd5d8..4f006def 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1121,7 +1121,6 @@ VenonatEvosMoves: DragoniteEvosMoves: ; Evolutions - db EV_ITEM, FIRE_STONE, 1, YOSHI db 0 ; Learnset db 10, THUNDER_WAVE @@ -3496,14 +3495,6 @@ FossilAerodactylEvosMoves: ; Evolutions db 0 ; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 35, SLAM - db 45, DRAGON_RAGE - db 55, EGG_BOMB - db 60, HYPER_BEAM - db 65, THUNDER - db 75, EGG_TOSS db 0 MonGhostEvosMoves: diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm index 6b3c4dea..13053cb4 100644 --- a/data/pokemon/menu_icons.asm +++ b/data/pokemon/menu_icons.asm @@ -251,5 +251,4 @@ MonPartyData: nybble ICON_CAT ; Mew nybble ICON_BALL ; Meltan nybble ICON_BALL ; Melmetal - nybble ICON_MON ; Yoshi end_nybble_array NUM_POKEMON diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index 770450f7..c6144ce8 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -252,7 +252,7 @@ MonsterNames:: db "TAUROS@@@@" ; Paldean, Blaze db "GORILLAIMO" db "MISSINGNO." - db "YOSHI@@@@@" + db "MISSINGNO." db "MISSINGNO." assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/new_dex_text.asm b/data/pokemon/new_dex_text.asm index 8ad180aa..d5f70602 100644 --- a/data/pokemon/new_dex_text.asm +++ b/data/pokemon/new_dex_text.asm @@ -998,16 +998,6 @@ _GorillaimoDexEntry:: next "battling GAWARHED" dex -_YoshiDexEntry:: - text "This rare species" - next "is known for its" - next "long tongue and" - - page "playful demeanor." - next "You can even ride" - next "on its back" - dex - _MissingNoDexEntry:: ; unused text "This is a newly" next "discovered" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index e51f97fb..773cdaeb 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -252,5 +252,4 @@ MonsterPalettes: db PAL_MEWMON ; MEW db PAL_YELLOWMON ; MELTAN db PAL_YELLOWMON ; MELMETAL - db PAL_GREENMON ; YOSHI assert_table_length NUM_POKEMON + 1 diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index 1f4694bd..a3863273 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -1,4 +1,7 @@ AerodactylFossil: + ld a, FOSSIL_AERODACTYL + ld [wcf91], a + call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre AerodactylFossilText ret @@ -8,6 +11,9 @@ AerodactylFossilText:: text_end KabutopsFossil: + ld a, FOSSIL_KABUTOPS + ld [wcf91], a + call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre KabutopsFossilText ret diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index bfad6d57..723b1845 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -202,7 +202,7 @@ HandlePokedexListMenu: ld de, PokedexMenuItemsText call PlaceString ; find the highest pokedex number among the pokemon the player has seen - ld b, 253 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. + ld b, 252 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. .maxSeenPokemonLoop ld a, [hld] ld c, 8 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 36a10813..f5bab4be 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -398,7 +398,7 @@ VersionOnTitleScreenText: db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" DebugNewGamePlayerName: - db "J.ESTER@" + db "NINTEN@" DebugNewGameRivalName: db "SONY@" diff --git a/gfx/pics.asm b/gfx/pics.asm index d1d6aa4c..db5e343c 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -470,10 +470,9 @@ PerrserkerPicFront:: INCBIN "gfx/pokemon/front/perrserker.pic" PerrserkerPicBack:: INCBIN "gfx/pokemon/back/perrserkerb.pic" MrRimePicFront:: INCBIN "gfx/pokemon/front/mr.rime.pic" MrRimePicBack:: INCBIN "gfx/pokemon/back/mr.rimeb.pic" -YoshiPicFront:: INCBIN "gfx/pokemon/front/yoshi.pic" -YoshiPicBack:: INCBIN "gfx/pokemon/back/yoshib.pic" FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" +FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" GhostPic:: INCBIN "gfx/battle/ghost.pic" SECTION "Pics 9", ROMX diff --git a/gfx/pokemon/back/yoshib.png b/gfx/pokemon/back/yoshib.png deleted file mode 100644 index ba94c0cf5d6d8585cbb58dc3ccf36840c2a9ba4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk`Bp75C+IE6C$sR$z3=CCj3=9n|3=F@3LJcn% z7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4?NMQuIw+EWrdVv>KRwB0SYnZ7x{%So?lcx3&>F|ag8WRNi0dVN-jzTQVd20Mkcxj z#=1t9A%+%K#wJ!q7TN{|Rt5%l9tT*UXvob^$xN%nqQM-ZA^O{lT%ZOGxD6$lxv9k^ ziMa(>^gu27wfbZUx zlP)gpjT#TaIkZlMb>4GHzri9q%TSCZ{g&Y|7R94hdRJv4xpj|C%vhCaqpZ4%;mPcm oYxg|wS?Hi-XW49gM8qyWI8|V=RPgg&ebxsLQ0MfRw7XSbN diff --git a/gfx/pokemon/front/yoshi.png b/gfx/pokemon/front/yoshi.png deleted file mode 100644 index 90cedf2781d1ab312dac6fa785d2608265a6aed8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 825 zcmeAS@N?(olHy`uVBq!ia0vp^79h+7Bp8mz)+7Tdg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&U^Z?k>HzXM3p^r=85sBugD~Uq{1quc zLG}_)Usv`Q%rXMN)U+i>sd1CM)>q69kJCNghbR2(Owxcs1*{5e;xJ)76MT1X1Nx#9ix^5h&1+YTBD9}B!@tR;PJ$ss$tcM_b=HFwN5%)D^d%0t(~sQkO7xMx|6`F5lHKZchM zNtUmFQS|LF^RsvU+bj-GbDaLSMKt8*st3RCJe{^8xAOYIoFmUF7UwyxPnB4?C}T^` zPaY#BHb0)Lk{OfA1D4zGK6-PbBfro$x176^KPS0(%u`uEQTWBF@W7SRbhTy9@`noF zYcdawn{?)o)`5iye=g7R()hnTmf^(dD5py;N1}i8zIQ4&e9Is&2#PgNS3j3^P6 Date: Mon, 15 Apr 2024 13:01:52 +0100 Subject: [PATCH 06/10] Gen 5 Repel system Also used in PureRGB. Gives the player the option to use another Repel after the last one runs out. I had to remove some debug features in order to fit it in, but it won't have an effect on the regular game. Hopefully. --- data/predef_pointers.asm | 1 + data/text/text_4.asm | 4 +++ engine/items/get_bag_item_quantity.asm | 20 +++++++++++++ engine/overworld/use_another_repel.asm | 41 ++++++++++++++++++++++++++ home/npc_movement.asm | 10 ------- home/text_script.asm | 1 + home/trainers.asm | 4 --- main.asm | 1 + 8 files changed, 68 insertions(+), 14 deletions(-) create mode 100644 engine/overworld/use_another_repel.asm 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/text_4.asm b/data/text/text_4.asm index 39c7ab91..22fbfbb6 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:: 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/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/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/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 From dd7130c489aa10b414404eb86d9dfe92c020b212 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Mon, 13 May 2024 17:30:12 +0100 Subject: [PATCH 07/10] Groundwork for Pocket Lapras This is still a bit glitchy: - For some reason, unrelated text pops up after something is printed. I don't know why. - Pocket Lapras needs to close the menu post-use. Probably very easy, something in engine\items\item_effects. - The Pocket Lapras needs to default to Lapras as the text. This is a bit difficult as the item effect is actually used by Surf itself, so you may need to add a function that the Pocket Lapras loads before jumping to the real function (basically just loading the LAPRAS species ID for the text, ask me if you need help) - Cycling Road needs to run the routine to force you onto the bike after using the Pocket Lapras, or simply have it check for if you're on a ForceBikeSurf map and yell at you. Both work. I don't have time to finish this right now but it's at least obtainable. --- constants/event_constants.asm | 1 + data/items/key_items.asm | 2 +- data/maps/objects/CinnabarIsland.asm | 11 +++-- scripts/CinnabarIsland.asm | 74 ++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+), 6 deletions(-) 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/data/items/key_items.asm b/data/items/key_items.asm index 2eae83b1..bed00b9a 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 ; LAPRAS' BALL - SURFBOARD dbit FALSE ; SAFARI_BALL dbit TRUE ; POKEDEX dbit FALSE ; 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/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index 9a3e0e43..73eb5911 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,76 @@ CinnabarIslandText6: CinnabarIslandText7: text_far _CinnabarIslandText7 text_end + +_CinnabarPocketLapras1: + text "Bah, this LAPRAS" + line "just doesn't" + cont "wanna fight! Can" + cont "you believe that?" + + para "All it does is" + line "SURF. My GYARADOS" + cont "can do that!" + + para "Here. Take it." + line "I can't stand" + cont "looking at its" + cont "big ol' eyes." + done + +_PocketLaprasNoRoomText: + text "You don't have" + line "room either?" + + para "Well, it's not" + line "going anywhere..." + done + +_ReceivedPocketLaprasText: + text "Take care of that" + line "LAPRAS though," + cont "yeah? They're" + cont "an endangered" + cont "species." + + 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 + +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 + call TheAutoskipStopinator ; it's been a while but i didnt forget how annoying this was + lb bc, SURFBOARD, 1 + call GiveItem + jr nc, .bag_full + SetEvent EVENT_GOT_POCKET_LAPRAS ; if you get here, it's done. Using this to load all three texts with one PrintText instruction + sound_get_key_item + ld hl, ReceivedPocketLaprasText + jr .end +.bag_full + ld hl, PocketLaprasNoRoomText + jr .end +.skip + ld hl, ReceivedPocketLaprasText + ; fallthrough +.end + call PrintText + call TheAutoskipStopinator + jp TextScriptEnd From 2c02483f010a497e529d9be9d64b8757a8373e8d Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Tue, 14 May 2024 21:17:36 +0100 Subject: [PATCH 08/10] Small polishing of the previous commit + Item Sorting - Fixes a few bugs from the last commit, namely: - The guy who gives you the Pocket Lapras having bugged text - Being able to use it where you shouldn't (Cycling Road, Seafoam before the boulder puzzle) - Pocket Lapras not having an item description - As well as this, automatic item sorting has been added. Just press Start in the bag menu and all your items will get assorted into a convenient list. - Changed a few item descriptions since some of them didn't terminate properly - Freed up some space in the Home bank --- constants/item_constants.asm | 2 +- data/items/key_items.asm | 2 +- data/items/names.asm | 2 +- data/items/prices.asm | 2 +- data/text/item_descriptions.asm | 61 +++---- data/text/text_4.asm | 15 ++ engine/items/item_effects.asm | 13 +- engine/menus/item_descriptions.asm | 2 +- engine/menus/start_sub_menus.asm | 6 +- engine/menus/swap_items.asm | 261 +++++++++++++++++++++++++++++ engine/overworld/field_moves.asm | 2 +- home/header.asm | 3 +- home/list_menu.asm | 8 +- macros/farcall.asm | 4 +- scripts/CinnabarIsland.asm | 62 ++++--- 15 files changed, 379 insertions(+), 66 deletions(-) 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/data/items/key_items.asm b/data/items/key_items.asm index bed00b9a..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 ; LAPRAS' BALL - 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/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 22fbfbb6..415c5192 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -233,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/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/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/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/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/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index 73eb5911..36827390 100644 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -87,34 +87,42 @@ CinnabarIslandText7: _CinnabarPocketLapras1: text "Bah, this LAPRAS" - line "just doesn't" - cont "wanna fight! Can" - cont "you believe that?" + line "just doesn't want" + cont "to fight! Can you" + cont "believe that?" - para "All it does is" - line "SURF. My GYARADOS" - cont "can do that!" + para "All it likes to" + line "do is SURF, but" + cont "my GYARADOS can" + cont "already do that!" - para "Here. Take it." - line "I can't stand" - cont "looking at its" - cont "big ol' eyes." - done + 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?" + line "room, either?" para "Well, it's not" - line "going anywhere..." + line "like it's going" + cont "anywhere..." done _ReceivedPocketLaprasText: - text "Take care of that" - line "LAPRAS though," - cont "yeah? They're" - cont "an endangered" - cont "species." + 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 @@ -124,6 +132,10 @@ _ReceivedPocketLaprasText: CinnabarPocketLapras1: text_far _CinnabarPocketLapras1 text_end + +CinnabarPocketLapras2: + text_far _CinnabarPocketLapras2 + text_end PocketLaprasNoRoomText: text_far _PocketLaprasNoRoomText @@ -139,21 +151,21 @@ CinnabarPocketLapras: jr nz, .skip ld hl, CinnabarPocketLapras1 call PrintText - call TheAutoskipStopinator ; it's been a while but i didnt forget how annoying this was - lb bc, SURFBOARD, 1 + lb bc, POCKET_LAPRAS, 1 call GiveItem jr nc, .bag_full - SetEvent EVENT_GOT_POCKET_LAPRAS ; if you get here, it's done. Using this to load all three texts with one PrintText instruction - sound_get_key_item 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, ReceivedPocketLaprasText + ld hl, CinnabarPocketLapras2 + call PrintText ; fallthrough .end - call PrintText - call TheAutoskipStopinator jp TextScriptEnd From 2c6fc430112e0f39e91645c6b05a26b3f51b67eb Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Wed, 15 May 2024 20:46:36 +0100 Subject: [PATCH 09/10] Title screen + Diploma improvements - An interesting thing I decided to implement here; every time the title screen gets loaded, it loads a random choice between Red and Green, as well as Scream Tail and Sandy Shocks. This effectively gives 4 different starting title screens. - Made the EXPN. PAK text on the title screen more centered. - Green now appears on the diploma instead of Red if you're playing as her. --- data/pokemon/title_mons.asm | 12 +++---- engine/events/diploma.asm | 11 ++++++- engine/movie/title.asm | 64 ++++++++++++++++++++++++++++++++---- gfx/title/fplayer.png | Bin 0 -> 803 bytes gfx/title/kep_version.png | Bin 449 -> 489 bytes gfx/trainer_card.asm | 3 ++ ram/wram.asm | 1 + 7 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 gfx/title/fplayer.png 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/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/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/gfx/title/fplayer.png b/gfx/title/fplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9ae1848eae70d0f1faa51edb25892be3ee44ea GIT binary patch literal 803 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBp1SA+9eE!=Fq!f}pf_xbms?-=58d?|_egTCV zUNA6}8Za=tN?>5Hn!&&zUNC1@pbb!hDaqU2g@M_)rKkhQ<1FxqEM{QfI}E~%$MaXD z00r4gJbhi+U$F9Xi-^8VD=-5JG3FQfg)p99R6YyHQ7v(eC`m~yNwrEYN(E93Mg~SE zx(24YhNdBghE_%fK%{M8U}a!%a>fgggAp2X^HVa@DsgMraWvo^P=f~ChLX(O)Z&uF z+yX3m3?Y_yF0X0@>WNB?@J#ddWzYh$IT%>x%B zs2X5kG6^Hp1J#0n2M_~wLumP+?iGmc`s7K(VKZL%)`_{4evtoczu2)&#Ua z`;t6Ea$aQ`gE;fQf|5rU`P@1dcxFa!aLx>!a4E;vU{dg_S95&M&5uoaHYYQx)vMSp z?xd(xx%iv;YNn5hzJECUzG%y;lHhx5F8OvH{wDP+Y}RB?ozivc8jc3WInTF+K5BgM z^TsWmJ!+dm&(-voToZ21ZfR6g)^^oUHK^-;+pHO$US5m6 zsJvUTN!LbbPGOzi3Z9rKev28c~vxSdwa0l9`)YT#}eu zz+hxxgr>&=V&ZeLsI`-s7&D_>JzX3_IIbuE;AiDwuaSEGC%?v~{o$XPmbU+&&zWS1)|fUQGx&f delta 204 zcmaFKe2{s93NK5#qpu?a!^VE@KZ&dp6&pI|g@r>) zn@Cms|>mo Date: Thu, 13 Jun 2024 09:00:31 +0100 Subject: [PATCH 10/10] Facility floor tile change This was a thing I made back in March, then got sidetracked by the Yoshi April Fool's thing, accidentally deleted and forgot about but now I've reimplemented. Oops. This changes the tileset of Rocket Hideout, Silph Co. and Cinnabar Mansion to be much easier on the eyes, especially when holding the run button. --- gfx/blocksets/facility.bst | Bin 2048 -> 2096 bytes gfx/tilesets/facility.png | Bin 1081 -> 1443 bytes maps/GiovannisRoom.blk | 2 +- maps/PokemonMansion1F.blk | 10 +--------- maps/RocketHideoutB2F.blk | 6 +++--- maps/RocketHideoutB3F.blk | 4 ++-- maps/SilphCo1F.blk | 2 +- maps/SilphCo4F.blk | 2 +- maps/SilphGauntlet6F.blk | 2 +- 9 files changed, 10 insertions(+), 18 deletions(-) diff --git a/gfx/blocksets/facility.bst b/gfx/blocksets/facility.bst index 31d69fd1ad46cd7e8b4e564da75b1dcf86fe4bab..e24239588886e6062e0044c02ce0b7253289f5fc 100644 GIT binary patch literal 2096 zcma)7X?qeu3^ufY&;pSP2t6oOQJDdY2kL@a@$O|EcwF(o|Nk#c7~T%u#}DRdHl5Ap zeluLVc9m`<$hrMP(cTX$18c{tO8zSWLxqQ7*Z_MY;DTl9phvxHK zem>WXy(X78w%#xnvenP!Tm4nN_Xj`lk9xxy{(L`B#sAy+I7dPkLKrjhghanKHi@@) zLjO`iWue_Y-zSyjGSkLp9B=Q;X0Th;ul5so0e*m|La|UhJv%+a9DG-`i$32@k2o5I zJczp;reTD5kVza}7rG_%I6?THxYcLcKYWxR;>nb0(1u)FC*C?|g1pRYi5vJUq*BG* zr%(5whtzjTe)s^Q;7stlVX2ud5%M=UE zgy27pyS<<__R?_as4I0C8%40k9AGc!UeFqQ{{ivy7fjDz5Z4<_u!Hn=_Z|{Id(HIn zmCp)VW6>w=iS_{+&0{EgxDt1u1j(B5}X?y4B z$k>aE;RyIgd}DndLOgWE-y2=Qq4qcU>-MyI;0*7BKjPs6w`zsA!x6swN4?VLXoNVh z5WFwqAg`MVGIlaGcF=~rdQva<9x^?9O?-U9bb3a7=PuKoyO4hVg`!MGcy~|xs5^Ol za(uGf%U;lGmlO}tWgW0H_V~ouu*bOXy;o?BP1fz>E5dx{-ak%@cnch0|NNZPtB?0a z2ASlq7_La-wRNVgbMzfJz*#%w=j7+?`yA#(OOiZ$f=|Jp|GmKdxH>QO^F>K!bjgXM z#>GTlzGAxlf%wzsfUEFJ;heF~Azm);_ic55bceoui{tO#!@mFc8OLv*gtMSea7%)~ cRLaz>% literal 2048 zcma)7>vj@B3~uNJp#_dqKZ@nMQpu5TXE^>cD>;Hzl90m>nvM;m~%pQ zW^$Y4%doPtOm`DRbkGrQbcuwCy8PSe=&!5~4~c?6`H(5TBAQ-KFMG{iGbzPVXcz=T zVO`1Z`UX*{Oq4DVRqB~6QMDF7UEe5`OXYMSU8vM6_4SRmS1KEuE*M*>8@p`n?A%wQ z!S^}f+stK)$!E&tiT3tIYdNBLG}cAPWHZ@nty-JSh=iTCR%kZMWM?zUSWhxpW2-e| zAsgLHw$Y8Bt3UXGf5}A1t>I7Wfm{5)oyHk3O_;2%0#9gkOgj{Q{nH`CR_&{OlZk(5gxmHQ$y;A7)Yu!tg`+m#!&u*kz3YQ| z;I-#YjeYWz==B?AK{4zg)#~vxqF3*U-o8s}piWW~sRQgJk7J%g#Cw2+KfZdb)-AM8TOq&M(G^4 zw|7MMANS=t`+dZL6>Bac>(0Fd89Ti+w%3GQUWpBQF&Yz{ofAEL6ld*!E^n;x-oDgP zW^yzhjTdw2xl^f<;K5BK?2H|ajdgR3_g=l?)Y#;`HNGHBGgtpu&Ew7AXUw1WNxW*j z58TKke@Am!y2(X{mR~lhkoF1Zw|5r(@))0tKmEUemw0!?&o?3N(G4e-;tL&->3Hyo z=*w5c7L4JaLh*)pc<1BuBQtb$6^7T>Zr*?V48xBv-C9v2zEUY;i$!@Ka``C2`}`M% C^4|;q diff --git a/gfx/tilesets/facility.png b/gfx/tilesets/facility.png index 3654900e4ffb7bce5c69a9aaa622eaa7f3526fb2..1840ee3ad54a68c97a8e02f74a93eb87e425eacd 100644 GIT binary patch delta 1376 zcmdnVv6y>;ay^4WvPY0F14ES>14Ba#1H&%{ApL@Yq11qZ;Z*_ygVhWM2JwP9y8>;1 z5==?n?k)_>#w|r1Kptm-M`SSr1K(i~W;~w1A_XYOUgGKN%Kn0xiAg~sj_qY1P>3_+5Hc`IF|dN!3=Ce3(r|VVqXtwB6EI|i5$b_zLBIoufx02I ze9(6j1_tK;o-U3d7NudUCuXVEKQq7od*Anc-y4cu7|v;b*uC!lCHW%hZM~DN1Rf-M5D$?rxvH>yGL-$Fp+w zht7uVRE#l?vf5qDRd%48;b4g6uJ3za+}Evt7xdfV?@?x<-Bpzt8W(;o$WBeR=7_n) z^!$?k^!X{iXK&ofW17X;f4O6pT3L-+gRK9Kr*$?w8&2OXG6-TjpJH%i{=XJ?@2Qr* z`iq&a@E0o@oMJOSYa{Srz4$E79fB`r{uk>hO%A@!-P2I`tv70JlUycCk8ko_lk~Y9 zwS}*D)E}7<#kyR?U`OD!uQ#ihk{@1`S82$7@LG;Z(>FR-F+hBF>VqpUnXmD7^k1HN zCX2n1ap&fJj2~^3YNxDBv`YLdwP;;%QpcrZ)7$Nz|M~xF=Z#XFW`}1`h+4%-#3v>pnU))C;md`uz7Qhr308 zj+yiRx!c~`6ctPGzYi~CdaeAR?9@rdqaxpv=C_pj1^)DE*yI~3aNuL@{cvR!f#dh; z)tJ`De^yp-YrbkUdC~bvfsD7*>;ImwZMA7=?RzR$ZqLva7CoO?&o*Gk5~FG2e}gh+ zzT#xQB6#Ysy!wi*F7+%IElr%Z)@=A!S#BX&;@~*Iq{G# zEqhS%K5o}@QSZxcZ)Wo6n_s#=WyK+b`_m?U{84y#nbDCGDQ<6$F25=ynm0XUmx;uQ Z_YB=9)*t?qmlO}m_MWbOF6*2UngCq-F&qE@ delta 1028 zcmV+f1pE7=3%Ll8BS!=PNkl+?cic_KNnv>N5C4b&;zW06aee-~Go*U8c1ANNZ83OHy zlU@V?7T2tUgRQC=kS7jszT|^`iXi3@LTlE*neUE0JmCUm#s#A>4=9VTtTq;zSZM&* z4$hlfVB8w$Y=7+ftzJ?cuuyQo$SofXjav|n9C}&fMeso9kN}J!9?h?3azFo=yWj6e zD5?YkCq2-f@4LGHG>iUoQBtW)AKd%K0gTD{zj*$_?o(4el1dxp1NNB%0OWpFKG?ha z_EM+2#XhLn<43reE;oehMoMRQF2N3X5g?c@NB6!L{eQc~-D)4Gzj#1mS1%6^23j9< zu54@vflFK9T;}ESlbop;TgOd6GvRRtQPaec&jc{`gj??9VSrukk%N&ocs7e6{`4n2 zTB^*^cbpTTewYh^Q8u_~7JvYMz0gd+jX=-*w_vOro4Q_P1dOw9)anxSNW)-k8tbMx z>qO{HSbxVQ#?&e}rGUYWvaZk86BrGz{vZKt17CL&NNd_^3xT@$ECZ)bAFwV!e4NQ< zS7QYF<&OFW#Pf(WDO1CA!1^^rU8lqlrHwBSf6n>;)&FAG6)4->HcbG#BtT}qn*d|9 z-J;;J)n-Tw@aT^Cw*+VkS5gEJsV9yAM1mp6*nfTYix&d?i`bu-@2f^Q!g*w~8T#yu zedm#z!&rE~vJ+Sz0k_jm4k(tm7yl%*bBW4V0+em4f&h-~`@R|>i8%WHGZA?GnjZl% z8myL?5`C763eZ0J>woSmBei0f4Tix^RL(joRC`l|xYE1aW{> z#*#i@>e5Xw2N{R%B0i5ppaRh7FTvCcK`(*}rjmg?Z>%6C*(9k6rlv-`9AuoS<$O6g z0d!^gWimD3+;^a96LJpGsib|<`4wT9^M5zu_=IATn$3^ zm9J^}!WT*8^ff&M;)ny&J+A=n=0CWR%?|GS(*cyS3&cfHbNQTDVtk=_Uem76*-4IW z1aWJMaU+q4PxlC*N|A`j!HVs9d(mG);jc@_nwo;sJ$vb%S1e5%wr4)P-AG?kqA?18 yTS_Go#|@jx5F?u%wilmPOH{aBQt8rQAio2^5wdG>2y)E;0000===}>~""#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