Here's one for all the people that wanted another wacky interaction with the shady salesman!
He stands outside the Safari Zone selling his own Safari Balls. They act the same way, they're called the same thing, but they're looking a little off...hey, is that paint peeling off?
Anyway, this acts as a way to get Safari Balls outside of the Safari Zone, like in SwSh! Whether or not you wanna pretend that they're real, it's still neat that he's selling them to you for a good price.
I'm committing this for someone to have a look at my apparently-garbage code and figure out what I'm doing wrong because i CANNOT figure this out on my own
- Tiles now animate correctly while still being sped up (credit to jojobear13!)
- Fixed issues with certain cave maps being glitched after importing the new tileset for Seafoam
- Gave Celeste Hill Cave the same palette as the exterior areas
- Fixed an inconsistency in Koga's pre-fight script
in the middle of a breakdown here but i'm committing this because I don't wanna have an overwhelming number of changed files like the Big One
- Fixed a bug where an item couldn't be picked up in Mt. Moon Crater
- Gave new cries to Leafeon, Glaceon, Perrserker, Gentlarva, Carapthor, Gorotora, Magnezone, Tangrowth, Tricules, Magmortar and Meltan. Pupal and Lickilicky also got new cries but they'll probably be changed later
- Changed Citrine's map slightly for hopefully the final time, removing the tall grass to allow the Old Man Glitch to work there
- Brought Pokemon Tower 5F back for some reason
- Moved the Rocket Grunt on Silph 11F closer to the Omegadge door
- 'Fixed' a warp issue on Faraway Island, can definitely be improved though
- Gave Gapdos 10 more base special because i forgot the first time
- Fixed a typo in Hitmontop's dex entry
- Fixed some inconsistencies in Gao and Gorotora's movesets
- Added the unused ice tiles to Seafoam Islands and Garnet Cavern (credit to Vortiene)
- Added a stats page to the Pokedex that displays base stats and the type of caught Pokemon (again, credit to Vortiene)
- Made Sandshrew more common in Mt. Moon
- Improved the 'already caught' icon
- uncapitalised all new instances of "trainer" in the text to make it more consistent
- HOPEFULLY fixed the issue where the SS Anne still couldn't be reboarded
(oh and also Magnetite too i guess)
- Finally updated Oak's Pokedex rating checks to accommodate the higher number of Pokemon.
- Albatross strikes again, bringing updated sprites for Alolan Ninetales and Exeggutor, plus Aqua and Blaze Breed Paldean Tauros! Combat Breed is still the same.
Please note that the game is still unfinished, I'm hoping I can have the proper time and motivation to knock out the last few bugs and unimplemented features. Doing my best, okay? :3
~ MM
- Added LuciShrimp's amazing demake of the Area Zero theme! Plays in Mt. Moon Crater.
- Lickilicky now has access to Explosion and Selfdestruct.
- Sirfetch'd forgot how to Fly.
- Steelix is now even more susceptible to getting BubbleBeamed to death since it now has 10 less base Special.
- Small changes to a handful of trainer parties.
- Changed some encounter tables, mainly making Ramoose more scarce and Tangela more common.
- Blissey, Magmortar and Rhyperior all receieved updated sprites by Albatross!
- Jynx also receieved an updated sprite, giving it the purple skin it has in later generations.
- Minor level changes.
- Updated README.
I made Mt. Moon Crater when KEP's ROM Hack was just starting, and in retrospect, it looked horrible. Lots of random things all over the place, not very layered, it really just looked like a normal route. Here, I've attempted to layer the crater more cleanly, added a "Zero Lab," and all-around improved the tree placement. Hopefully, this makes it more enjoyable to explore.
Gorochu now has another horn. That's it.
Gave Cheep and Jabetta Meditate as a tradeback move.
Mr. Rime lost Fire Punch, probably behind the couch or something. Shame.
- Gave Magmortar the wrong Special initially, it should be 95. Yes, this makes Magmortar really bad, but it's just how the Special conversion would work.
- Similarly, Tricules has had its Speed reduced, so it can have the proper role of being a slower, bulkier Pinsir.
- Removed the extra staircase in Red's House properly.
Just some very minor things I'm pushing while I work on the stubborn Silph Gauntlet Guard.
- Fixed the misshapen Poke Ball and Pikachu sprites on the 3DS Border, and gave Shocks the updated grey palette.
- Moved a trainer in Rock Tunnel that was accidentally made optional.
- Fixed some wording in Gavillain's dex entry
- Made wild encounters in Rock Tunnel have more consistent levels.
Updated back sprites have been added for Galarian Rapidash and Weezing, Alolan Dugtrio and Muk, and Tangrowth!
Also fixed an issue where Omegadge had 3 less base speed than it should, putting it just below Gawarhed in terms of BST. Oops.
- New Celeste Hill Gate location so the entrance into the location makes more sense. Also took the opportunity to include more lore. This replaces Pokemon Tower 4F.
- Fixed a bug that caused the Cat icon to not animate correctly.
- Made the infinite Nugget glitch work properly because I was stupid and didn't test it.
- Luxwan now uses the Small Bird icon to fit with the rest of the line.
- Nidoreign has a new Pokedex entry and classification, centred on the Nido's origins in the Moon Rabbit of Asian mythology.
- Reused the double doors for the Route 2 gate, and added the warp for it
- Changed the Route 2 map to have the ledge on the path this irritated the fucking LIFE out of me
- Pokemon Tower takes you to the right place when going down.
- Kotora line now has Flash
- Refactored Gentlarva
- Route 2 gate now uses the double doors.
- New hidden Moon Stone where the Clefairy are in Mt. Moon
- Added a new Paradox Pokemon-themed border by Gecko557
- Shifted a ledge in Cerulean City that was off-centre in a really jarring way
- Added the Nugget glitch from FRLG because it's funny and cool
This adds a makeshift border, which will later be replaced with a proper KEP one (thanks Gecko557) The readme also includes a link to the software itself.
Responding to some feedback on YouTube, the Citrine Mart now features PP Ups and Max Elixers as renewable items. PP Ups have never been renewable!
Oh, and the Exp. All is now a key item because for some reason it wasn't before. Yikes.
Last commit for the night.
- Fixed the Arrow Tiles, it was very silly.
- Edited the text in Giovanni's Room to fix a gap, but also ended up adding citations and stuff to the file for the interested.
- Edited the map in Giovanni's Room to make a little more sense.
- Fixed some post-game Hall of Fame setup stuff.
- Edited Install.MD to be more idiot-proof
Whoa, this one's been in the making for a while now. This one has been my attempt to fix as much as I could within a little over a month. Here's what I've got for you.
- Fixed a bug in Silph Gauntlet where the trainers would not see you unless you spoke to them
- Removed the unnecessary Gawarhed and Wugtrio static encounters. In what was once Gawarhed's place is a Rare Candy.
- Implemented a working ferry system (huge thanks to Red++) that allows travelling to Faraway Island and Citrine City with the right tickets. Currently both maps use a copy of the SS Anne, which may be revised later.
- Bittybat, Magnetite and Burgela have been removed to fix a Pokedex bug where entries wouldn't display correctly if the total number wasn't a multiple of 8.
- Fixed a bug where fishing up a Wiglett and Wugtrio would play the trainer battle and Champion battle themes respectively
- Restructured the Pokedex a little. Don't worry, Lickitung's still number 108!
- All references to betamon in the disassembly have had their names updated to match the new Ogasawara ones
- Removed Blastyke as a Game Corner prize, replacing it with Squeamata.
- Garnet Cavern is now properly listed as a dungeon map
- Fixed an issue where trying to leave Bill's House after entering the garden would put you back in the garden
- Moved Silph Gauntlet's Beauty down 1 floor to make the number of trainers on each floor more consistent
- Finished Gauntlet 6F except for the trainer text (PvK please help)
- Gavillain's stats updated to match KEP 1.4 on the Showdown server. It's now a Dragon/Electric type with less Ice coverage.
- Fixed Clefable's and Wigglytuff's starting movesets from an earlier commit
- Fixed an ABSOLUTELY HORRIBLE, EGREGIOUSLY FRUSTRATING BUG that caused the Pokedex's seen counter to rarely update. This is what caused this commit to be delayed for so long. No joke.
- New sprites, courtesy of Albatross, for Sylveon's back sprite, Alolan Marowak, Alolan Muk, Galarian Weezing and Magnezone!
- Fixed a bug preventing the trade for Haunter from being accessed.
This re-frames the intro to have Red and Green be framed in a gender neutral manner. The main aim here is to be a bit more appealing to the NB types, be more consistent with the modern game's approach to gender, and allow people to feel comfier with Red's androgynous appearance.
Oh, and there's a confirmation option to utilise this more effectively, along with some cool transitions. Very happy with this commit.
This changes the animations for various vanilla moves with the aim of reducing photosensitive reactions. KEP is going to chiefly be played on emulators, and thus players will experience flashing that is meant to be dimmed by a Game Boy screen. This is dangerous, so here we are.
Many moves have been given black screens which 1) Look cool as fuck, Thunderbolt and Blizzard are really nice and 2) bypass flashing. Others have had their flashing reduced or outright removed.
Blizzard has been given special treatment, having the second part of its animation given an Ice Rise clip like Ice Beam. This, coupled with the darkness, looks ace.
Changed moves include:
Body Slam, Glare, Dazzling Gleam (oops), Disable, Blizzard, BubbleBeam, Confusion, Dream Eater, Explosion, Guillotine, Hyper Beam, Mega Kick, Mega Punch, Psychic, Reflect, Rock Slide, Selfdestruct, Spore, and Thunderbolt;
Short tests showed positive results. Revert if it fucks up anything.
PureRGB enhances Gen 1 AI in various ways, fixing notorious glitches and making it not do completely stupid things. I would use shin pokered's, but it may be too difficult for unfamiliar players, and has a bunch of outdated markers I'd have to spruce up.
Relevant changes:
- Burn effect calls have been replaced with Fire Blast's effect, replicating the burn spread use-case of Fire Blast
- Teleport references removed because pureRGB uses a unique version
- Any straggler references to effects not used in pureRGB
- Mist properly referred to as we only have one move that provides stat drop immunity.
Updated the sprite gallery too!!
I forgot to put a `ret` at the end of `ShowThis`, causing the sequence to break. It also fixes a bug that would trap you in your house if you cleared the game at all - LAST_MAP is set to the player's room due to how we changed the starting position.
The post-game Legendary respawns are NOT fixed with this, for reasons I don't yet know. It's most likely the faulty dex as a whole.
The post-game setup itself now works, though - Route 1 Oak appears, Crater Guard disappears, Bill's Garden becomes accessible, etc.
Cerulean Cave is made accessible through the post-game setup until the gauntlet is officially done.
- Fixes the 7F -> 5F warp
- Removes the unused warp panel, moves the TM for Swords Dance over it, and the Rocket Grunts, accordingly.
- Fixes the strange machine blocks that had missing tiles, by removing them!
This puts Mt. Moon Square into an area solidly reminiscent of GSC. To prevent breaking of progression, a Cut tree is placed where the exit out of Mt. Moon is.
Also, I replaced a Potion with a visible Moon Stone - felt awkward not having one. It's a bit out of the way, so players have to explore, which feels correct.
- Most, if not all, Silph Co. warps have been fixed. Inappropriate ones have been removed.
- The Metal Coat can now be found where one corrupted Silph Co. warp was to fill dead space, and another is in the Power Plant, replacing Carbos.
- Bill now trades you Hisuian Arcanine after being saved.
- Bill's Grandfather now trades you Hisuian Electrode. Had to remove Crinkles, but Tangela is literally right next to Cinnabar, c'mon lol
- Toedscool can now be found behind Pallet Town, replacing Gloom and Weepinbell, making it more focused.
- Now you can't run from Omega! May expand this to more Pokemon depending on feedback and whether it's ok on processing. Main concern is making the run button too laggy - it raised some eyebrows.
* Moves the Mystery Box activation into Event Constants. This means that now, the Mystery Box activation is handled in the save, preventing some jank from happening when resetting.
* The "don't switch off the box yet" variable is now always unset after entering a map. Meltan itself allows the variable to keep being re-set, which is super handy. Now, whenever you enter and exit maps, it'll work properly.
* Flying, using an Escape Rope, and using Dig, all now unset the Mystery Box. If for some reason everything fucks up, this'll fix it.
* Fixed a text bug with the scientist in Celadon University.
* Fixed a menu alignment issue with the Vermilion Beauty.
* Attempted to fix the Battle Tent exit. Failed. This is a really, really bad bug, hopefully this gets sorted sometime.
Alright so this is the start of producing a new and improved pass system - one that actually works.
Long story short: Now there are three dock entrances. One for the S.S. Anne, one for Citrine City, and one for Faraway Island. I don't like it, but the old system literally just would not work, and with the time span in mind, I just want to use this instead.
Here's how it works;
- Usual S.S. Anne trigger is used, but with a new coordinate range.
- When triggered, check the coordinates the player is in; if it's not the usual S.S. Anne one, they're getting kicked to a new script.
- Use that to flag the player as usual.
Glitches:
- Triggering these multiple times causes strange jank, including crashes. I have the player forced into the new maps for now, but even going back can cause issues. I don't understand it.
- Citrine City's warp just...doesn't work, presumably due to a warp limit. However, after chopping off the warps so there's one each, it still happens.
These glitches need fixing before KEP can launch.
- Oak no longer appears in the lab prematurely you can all stop reporting that now
- Added some text warning about only needing to do Hyper Training once. The function as-is is really weird to add a conditional to and I'm a bit too tired to pull it off.
- All of the new Pokemon have been given their Nob Ogasawara-localised names, where applicable. Skimper, Bawligua, and Cryithan have completely new names, (Squeamata, Ministare and Iguanarch), made by me with a lot of help from Plague Von Karma!
- Squeamata and Ministare have new sprites courtesy of Albatross. Crobat and the Alolan forms of Golem, Persian, Sandslash and Raticate have also been updated.
- Sandy Shocks can no longer learn Metal Sound.
- Luxwan and Sirfetch'd can no longer learn Hyper Beam.
- A handful of Pokedex entries have been rewritten or altered slightly.
This completes the Tradeback learnsets, which will now be imported to the PS side for the 1.4 update. Much of these aren't very groundbreaking meta-wise, but there are a few new sleepers that people may enjoy.
Credit to ViWalls for discovering most of these bugs in his playtest:
- Citrine City's theme has been made slightly louder.
- The book in Mr. Fuji's house had difficulties working properly, so it's been removed for now.
- Fixed issues where Silph Co. and the Fishing Rod house displayed incorrectly on the Town Map.
- Removed the unnecessary sign outside Celadon University.
- Fixed an issue where 2 NPCs in Cinnabar Lab and Pokemon Mansion, respectively, had incorrect text.
- Fixed a text issue in Pokemon Mansion where the final Mewtwo log would display incorrectly.
- Altered a piece of text in the secret area of Pokemon Mansion to avoid a text box error since the idea we had in mind for it was scrapped.
- Fixed a text issue in Viridian Pre-Gym where the text for the right-side poster overflowed past the edge of the textbox.
Pushing a commit for the less important stuff while I finish the Silph Gauntlet's missing floors.
- Swaps the Biker and Psychic in Silph Gauntlet around
- Increased J&J's Meowth's level to make it less unbalanced in the later fights
- Text improvements for Citrine City, Saffron Gym, and Viridian PokeMart
suloku dropped a really good guide on implementing modern Exp. All into RBY, making the item actually useful.
This basically fixes all the issues, but does expose one thing: Gaining Exp takes...a long time. So when you have one Pokemon KO another and have 5 others in waiting, the load time before leaving the battle will take about 3 seconds. This is definitely disorientating, but is still much, much, much faster than the original.
This finishes Chief's event, with all the necessary components for the post-game Mewtwo fight sorted as well. I added an event the Master Ball sets for modular monologue text, for improved immersion.
I have also fixed some bugs;
- Fixed the oft-reported walking in trees bug in the Forest tileset.
- Fixed the Oak's lab computer issue by just...removing the computer. I made the map symmetrical instead, feels a lot better to look at, at least for me. I think it was meant to have an event on it or something, but I couldn't find anything, felt like I was being gaslit.
- Hopefully fixed the issue with the border blocks going weird after saving and resetting, by making the tileset directly point to the gym one, which Oak is meant to use. I am not sure how that glitch happened for ViWalls.
- Fixed the Viridian Pre-Gym text scrolling issue.
I still cannot replicate the crash bugs that some people have been experiencing and don't see anything that could be causing it.
I also changed Trampel in Victory Road to Steelix, as mentioned by Gogocrafter.
Some of the wild data on these routes needs to be looked at long and hard. Many of them have an extreme amount of variance that ends up making it harder for players to find what they actually want - note that in these games, it does take a while to get through a single one. In general, reduce the variance. Some areas feel a bit chaotic as well, I noticed Barunda in a few places that felt off.
Victory Road has been refined, with the Hitmon repeats made more accurate to LGPE - they are encountered individually on different floors. I have upgraded much of the area's residents, such as adding Rhydon from FRLG and turning Onix, Graveler, and Marowak into Trampel, Crocky, and Guardia. Steelix is a worthy consideration. I've kept Machoke and Golbat to serve as "blanks" to KO for exp on weaker Pokemon the player may have. It could still be refined, but this is a step in the right direction.
I've decided to put Kotora in the "Pikachu slot" in Viridian Forest as a compromise for the lack of an early Electric-type when Pikachu isn't chosen. It's at Level 3, so it will take longer to train by comparison - thus, by this point, it cannot compete with the starter Pikachu, as that will be around Level 10-12.
This addresses some issues found during my last KEP stream.
- Take Down TM on Silph 5F to Earthquake, ensuring that TM does not go unused.
- Bill's Garden now features Lapras and has level deviation.
- Mt. Moon B1F's area where you access Mt. Moon Square now uses an upward-facing ladder, giving the illusion of going to a summit-like location. This makes its current odd location make more sense while not invalidating the progression regular Mt. Moon has.
- Melanie should now give Bulbasaur correctly.
- The Karate Master now has a failsafe for if you got a Hitmon, where he is guaranteed to not refight you before the post-game.
- Fixed a 17 error Old Dance Jacket reported with the Up-Grade NPC's text.
- Fixed nickname screen corruption when getting the Pikachu/Eevee mode starters.
- Fixed some curious warp issues with Lavender Tower by reversing 3F. Could use with some tinkering. Silph still needs fixes.
Credits have also been made more precise in the interests of better open source derivatives. Felt a bit odd expanding my credits so much, but this also made me realise I need to touch grass more frequently. I have also made our Open Source policy more precise.
LuciShrimp strikes again! A demake of the Legendary Battle theme from FireRed/LeafGreen.
This theme is set to change down the line, possibly taking elements from the Emerald theme Mew uses to differentiate itself more. Mainly committing as the infrastructure has been put in place.
More still need to be done but I'm separating the commits so I don't get overwhelmed lol
- Fixes a bug with the Up-Grade NPC in Saffron. He now properly shows up only after defeating Giovanni.
- Fixes a bug where Silph could be entered before receiving the Poke Flute.
- Silph Gauntlet 5F has a complete remodel, more closely matching the original map found in the leaks.
- One of the Fuchsia Gym Trainers no longer uses a repeat Arbok.
- Wiglett and Wugtrio could learn Rock Slide via TM, which has now been fixed.
- Jacky uses a Porygon in place of Machop, as it ties into his polygonal, Virtua Fighter-inspired sprite.
- Chief uses a Gengar instead of Porygon2 to represent the Silph Scope.
- Omega's and Giovanni 2's levels have been toned down slightly.
- Lance now uses Crocky over Aerodactyl.
- Yujirou's non-initial teams have had their levels reduced to be the same level as the previously-fought Gym Leader, rather than the upcoming one.
- Updated README with additional credits.
This renovates the Celadon Mansion Roof House to feature a faithful restoration of Shinjuku Jack. Notes are in the script file.
Also, LuciShrimp's Mewtwo theme is finished!
Added dialogue for the two lover NPCs on Brunswick Trail. Yes, they're both very gay. Sue me.
Lover2's dialogue was written by my amazing girlfriend, so all credit to her on that one :3
Adds the trainers themselves, dialogue still needs to be written but PvK can help with that
Currently they either don't see you or challenge you multiple times...probably issues with where the event constants are located, will sort out once I figure out the problem
This adds three trainers to Brunswick Trail, as well as the lover NPCs Martha wanted to write dialogue for (with placeholders for now).
Most trainers are merely commenting on the strong and energetic Pokemon, which I think matches the racing theme it has going on. This can be changed if need-be.
I have also removed all the noise on the Fake Tree sprite that got added when I imported the tile. Now, it's far more convincing.
- The Zapdos in Brunswick Glade now vanish correctly, due to fixing a desync in the hide/show data
- Brunswick Glade's palette displays correctly
- Improved Citrine City's theme a little
- Changed palettes for Cryithan's line to reflect their upcoming redesign
- Updated Cryithan's sprite
This adds the intermittent area before Brunswick Grotto, where you'll encounter Galarian Zapdos periodically.
It seems the hide/show constants are desynchronised again, as the copies in the glade won't disappear.
The reason was because not all the infrastructure for an actual battle was set up - this fixes it. It still has some strange text that appears though.
Also did some minor optimisations on the Vermillion Dock stuff - I think the direction I am taking Faraway Island will work. However, something in that script causes any and all special warps to crash in some way. I am not sure what it is that does it.
moved that one sign in viridian that intersected with the pregym in a misleading way that just looked really annoying on the map PLEASE let me have this
It felt weird that Koichi would have Gym Scaling, but Yujirou would not. So, I changed that to be a thing. I pegged his level scaling to Brock's, mainly because Normal-types are absolutely ballbustingly broken in this game and it makes sense from a progression standpoint. In doing that, I realised some variety in scaling (like, -1 +1, occasional 2 type stuff) could be interesting.
I also fixed multiple bugs;
- Gym Trainers correctly reset when you leave; no visible effect except to me debugging.
- Above also fixed Yujirou not having his loss sequence after, well, losing. Reported by shawesome.
- In fact, Yujirou will even display his loss text after losing, something I learned from doing Professor Oak's new Citrine Pass functionality.
This makes it so that once you clear the game, you will be able to get the Silph Letter from your mom, and the Citrine Pass by beating Professor Oak.
You'll now walk to your mother upon leaving your room post-clearing the game, and she'll hand you the letter. This'll basically explain your next quest to you.
The Professor Oak event kind of destroyed my sanity but that's fine. It works. Thanks to Martha for the idea.
Considerations for a full bag are done and they were annoying. I decided to show off and do some comedy to alleviate the lost sanity.
- Fixed a bug where attempting to Fly on Celeste Hill caused a huge memory corruption effect. Oops.
- Fixed text issues on Route 1 and Museum 2F
- Tidied up trainer parties a little more
- Citrine City uses its own music track, being a revamped version of the unused trading music that was thought to be a town theme for several years. Could still use some work though.
- Improved Crocky's sprite a little, giving it the proper dimensions and improving the hairstyle a tiny bit
- Fixed an issue with Sylveon's Level 1 learnet
This was an interesting thought exercise.
As you can see, this code adds a scaling function for when you reach the KEP post-game. These teams are very powerful and a strong test of the player's skills.
I did, however, remove the Legendary Pokemon from the first three's teams. They felt a little bit out there and kind of decrease the significance of the player's. Plus, we just went through hell adding conditional Hall of Fame respawns.
The Elite Four use refight text based on their LGPE appearances. It's honestly a little odd, so if it's too much, the FRLG conditional text could be used instead. I like the way Agatha's plays out, though...
Anyway, stupid hacky implementation done, please don't look at how I did the champion's trainer number.
That's a fair chunk out of my day...
This commit finishes everything about Silph Co. 11F. DON'T. TOUCH IT. Unless there's a bug, but OTHERWISE, do NOT touch it. Holy shit.
Here's everything featured;
- Jessie and James fight, ported over.
- Rocket grunt changed to the appointment one from the strange room on the other side that really shouldn't be there tbh
- Omega fight now doesn't have the "watch out" text as I needed to do a micro-optimisation TRUST ME it was NECESSARY (it was not, in fact, necessary)
- Giovanni now reuses Beedrill and has a generally stronger team, scaling with the fifth Rival fight.
- Omega refight has been added after some toiling with the Team Rocket intro text that absolutely should not have happened but did for some reason AAA
- Rocket trio text somewhat tweaked
Oh and I ported over the balance patch on the stats, including some neo-Cryithan onboarding.
Fixes the following bugs:
- Restores the Museum Guy's functionality that was removed when trying to allow Brock skip. Now works fine.
- Attempt to fix Yujirou's Sabrina-like glitch. If this doesn't fix it, look at Sabrina between RB and Y
- Attempt to fix some Misty text.
- Changed Squirtle check to use EVENT_BEAT_SURGE over the ThunderBadge. Same effect, saves a line of code, generally easier.
- Reverts a really old and shoddy DV generation system back to vanilla.
Also, I changed some gym/rival teams to reflect new philosophies from Discord discussion.
- Toned down a significant amount of "repeats"; times where you repeatedly fight the same Pokemon or an evolution line.
- Integrated beta Pokemon more.
- Also, imported the LGPE retranslation of Bill. In Japanese, he isn't a PokeManiac, but a "Pokemon fanatic".
- Finishes the Vermilion Beauty event. One silly mistake involving the choice was fixed, and a workaround for wBeautyChoice failing in strange places implemented. Functionally the result I wanted.
- Implemented the Yellow spriteset for Vermilion City with minor adaptations. Fixes that funny issue I found on stream.
- Viridian Pre-Gym was fixed, reworking some events.
- Moltres now functions correctly, seeing you like a normal trainer would.
- Slightly tidied up Brunswick Trail and Celeste Hill Outside's maps
- Celeste Hill Outside and Cave now play Digda01 as a music track
- Meltan is now loaded in engine/battle/wild_encounters.asm, allowing its level to be fixed at 5 and avoiding various glitches. This also fixed the "running from Meltan ends the Mystery Box game" bug.
- Candy Jar now gives a message when it's full, more transparent to the player.
- Fixed a bug where the increment text wouldn't load properly, it was very silly.
- Adds Officer Jenny from Yellow to Vermilion City. Due to spriteset restrictions, Roingus Girl has been removed; the self-insert felt a little weird anyway.
- Fuchsia City's map has been redone a little bit to more closely resemble the LGPE version, being far more walkable and aesthetically appealing.
- A Firefighter has been added to Cerulean Gym!
For some reason the Daycare and the Super Rod house use the exact same map interior pointers? This commit uncouples them so edits can be made to the Daycare while leaving that house unaltered.
(also have some small text fixes I made ages ago and never pushed lol)
This adds Damien, the Charmander trainer, with text changed to be more accurate to his character.
I've also moved the Pewter Rod House nearby, as it makes more sense for it to be in the Water-type area. However, it seems to load oddly.
I have also integrated the Pikachu/Eevee Mode more, with architecture that it can make it more easily modified. This'll come into play for the Squirtle event.
I have also erased further misinformation the game gives about burns, and changed the Viridian Pre-Gym accordingly, to talk about confusion, which lacks a Trainer Tips sign.
In the name of making Pikachu/Eevee mode more accurate to Yellow, the starter trio are being made obtainable. However, I am also improving it in some respects to make it more accurate.
In the anime, the Hidden Village is between Cerulean and Vermillion, so Yellow's implementation is inaccurate. It also pushes the Jynx trader out of the house, which is undesirable.
Thus, Melanie has been placed in the Day Care to give more reason to go there, as well as make the Day Care look more like the one from FireRed and LeafGreen. In the name of this, a PC has been added as well, allowing for easier utility around the Day Care itself.
Bulbasaur is currently allergic to hiding for some reason but we'll figure that out later.
This is a large-scale compression of KEP's current hide/show constants. RBY's works extremely oddly and is limited to 256 entries.
The problem with how RBY's hide/show stuff works, is that even though there are tons of unused constants, you...can't actually remove them. The constant list is tied to the hide/show data entries, so if you replace it with something else, well, now you just have two objects tied to the same constant. If you made the Route 2 item a boss, and someone picked up the item on Route 2, the boss would also disappear, and vice versa. So, we have to get creative.
I have reduced what we have to 248, but I think I miscounted when doing the funny list somewhere in the actual list when making sure the hex stuff is ok. Either that, or there's an error somewhere that Martha will, by some obscene miracle of humanity, discover. Anyway, this was achieved by turning multiple current overworld items into hidden ones, keeping them in the game whilst keeping to that all-important limit.
I also removed the items in Pokemon Tower 4F for this, just needed a little boost. Well, as you can see by the number, I technically didn't, I just miscounted like 20 times. Look, it's 10:11 PM, my stomach is in pain from an insane injection, and I don't even know if that map will come back, cut me some slack. Or add it back. You definitely can.
This restructures the Fighting Dojo to match the new map, as well as add a few more features and safety mechanisms.
- Koichi, the Karate Master, now plays the Gym Leader theme when fought.
- Hitmontop is now an optional reward.
- Post-Game Rematch is available in addition to the gym scaling to be consistent with other Gym Leaders.
- A safety lock is on the Poke Balls prior to defeating the Karate Master, as the new structure now demands it. Indeed, this is why the reward area in vanilla is like that.
- Architecturally, there is now only one EVENT_GOT_HITMON constant, which is all that was actually needed in the vanilla game. Extreme microoptimisation, as event constants appear to be 16-bit.
- Vermilion Beauty no longer skips text to hand you your Pokemon
- Vermilion City text boxes are fixed
- Cancelling TMs and causing crashes when trying different ones is fixed (thanks to some old code by BlueZangoose, it was a vanilla bug!)
- Minor enhancement to the Candy Jar that seems to make Meltan more stable.
- Fixed a fallthrough error that caused Mewtwo's theme to play for every wild encounter (very cool, but also oops)
This adds the S.S. Anne healer from FRLG that's notorious for gaslighting newer players who just think she's there.
This also adds an extremely early Mewtwo theme. It's far from finished, just happens to be in this commit as I was testing it in debug - thanks to Luci for working on this!
Updated bug list as well with things my friend Crunter found.
This sets up most of the content necessary for Galarian Articuno's event. In SwSh, it has 2 copies, so I'm doing that here too.
Right now, the fight doesn't work properly and the copies don't hide properly. Otherwise, it's roughly how we want it to be.
- Properly adds Brunswick Grotto, as well as Celeste Hill Outside and Celeste Hill Cave
- Citrine City received a minor redesign, putting the path to Brunswick Trail more to the west
- Added complete event for Galarian Zapdos as well as an encounterable, but unfinished Galarian Moltres, so all 3 birds can currently be caught
The warp at the moment is an absolute travesty, something on that tileset needs to change. Either that or we figure out something else.
Everything in the Grotto is done, except for making Galarian Zapdos disappear after being defeated. At least, to my knowledge...
Pokemon Tower 3F is dead until future notice - Martha said she wanted to compress the Diglett's Cave maps, though.
This adds all the required architecture for the new maps to work, as well as Kinchou01 to play when in Celeste Hill itself.
This doesn't add the events, though.
- Fixes a bug where the Game Corner poster would pretend to be an Arbok. Very effective disguise.
- Fixes some text in Celadon University that would simply look odd. I need to use hyphens more, the rest of the game does it!
- Decapitalised the "normal-type" in Viridian Pre-Gym to match the rest of the game.
- Changed some SFX cues to use the level-up sound, but it's clearly crysaudio that causes this. Will talk with Dannye.
I did these a few days ago and forgot to push the commit lol
- Gives the Game Corner and the prize building a new palette
- Makes encounter levels a bit more consistent in the early game, as well as spreading out species a bit more evenly
This commit adds a large fundamental change to KEP, that being Gym Rematches.
This is achieved alongside a rework to the script that makes those post-game-gating NPCs shift around. If you add a new one, just add its constant to the lists you'll see in the Hall of Fame script.
It also fixes a few bugs:
- Fixed a bug where Cinnabar Gym loaded a fleet of Blaines. This occurred due to the way he is coded at base, and a misunderstanding I had when implementing his scaling. This is now fixed by standardising his gym script instead, while letting the gym trainers still use the old one.
- Fixed a bug where the Up-Grade NPC would not appear after beating Silph Co. 11F. However, Giovanni currently seems to have trouble with his text. This floor needs some re-coding anyway, given we need to add Jessie and James to it.
And some misc. changes:
- Changed the first Moon Stone in Mt. Moon to a Poison Stone for the Nidoking speedrunners
- Debug Mode now has a line of code to set up the post-game easily
- Changed Surge's initial battle text to Yellow's
- Added Sabrina's more accurate LGPE initial battle text, referring to the spoon she bent by accident
This is basically done, but has a few glitches to iron out that I don't have time to do today. So, I'm sending this in as-is with the intent to finish (or someone else can idc) it later.
I initially thought to restrict this to after Vermilion Gym but Persian is really bad and Arcanine doesn't compare to the L30 Dugtrio, so I think it's ok. Just barely balances itself out.
Bugs:
- GiveMonName doesn't work properly for the Vermilion Beauty after receiving the Pokemon, jank ensues.
- Text scrolls immediately when receiving the Pokemon from the Vermilion Beauty.
Minor upgrades in accordance with the recent KEP playtest.
The Mt. Moon Rocket with the Raticate is arguably one of the most iconic NPC trainers in Pokemon history and under no circumstances should it be cut. No matter what Yellow tells you.
Added a nice Arbok NPC to the Game Corner to make more use of the new overworld sprites I did. It's basically a guard for the attendant to its left - need some safety in casinos, y'know? Especially pachinko parlours...
I put the Arbok text in `text_2.asm` since it'll likely be used by other maps down the line. Or not, but it's good for architecture.
- Eevee and Pikachu family's growth rates are changed to Medium Slow. This gives them a much better early-game power spike that tapers off momentarily. They will level up faster until Level 68.
- Yujirou's levels and one pre-gym trainer are slightly nerfed, being easier for players starting out.
- Caterpie and Weedle in Viridian Forest have level deviation, and Pikachu is tapped on the wrist to not make the starter too redundant; change here is pending.
- Debug uses Pikachu and Eevee starters for future starter-based testing.
This fixes a bug where Meltans would invade Trainer Battles under the effects of the Mystery Box.
I also did some minor groundwork where the Candy Jar check is a function. I intend to change it so that catching a Pokemon would incur it too. I ended up with glitches when doing that, though.
The "ball miss" message is now modular, with a new message being spat out when not in the Safari Zone. The message talks about it being "too strong" and "breaking the ball", making it far more intense and matching some early anime scenes.
After going through the 1996 Pokedex again, as well as FireRed's dex entries, I've updated the majority of dex entries to add more information, be more consistent, or just slightly reword them to make them sound better. Some could still probably be reworked, but I'm mostly satisfied with these now.
The Candy Jar is now obtainable in the Indigo Plateau, instead of being an item obtained from Chief. I've removed most Chief-related stuff but expect some instability after you beat him, as I don't believe I completely removed the function to call the text.
The Candy Jar will now not collect candies in the following instances;
- It isn't in the bag.
- The total would go over 40.
Just makes sense and ensures players are engaging with the proper intentions. The 40 total is necessary, as over 40 stops the jar from working. This does mean some candies are "lost", but the players see that.
There's a bug where Meltan will have the moves of the Pokemon it's replacing and I don't know why. I've tried a bunch of fixes in `LoadEnemyMonData` but it didn't seem to want to work.
- Fixed a bug where the Candy Jar would load `wIsInBattle`'s 01, causing it to zero itself out every time.
- Fixed a bug where the Candy Jar would display `wMysteryBoxActive` due to the way `text_bcd` was being used. Replaced with `text_decimal` so it actually displays properly as well. No hex!!
- Added a test function for the evolution in the debug party because that's cool
This does everything except the incrementation.
If you defeat a Meltan, `wCandyJarCount` increments by 1, capping at 40. This is represented in-game as 10, going up to 400, simply by adding a 0 at the end. This, in effect, replicates the Meltan quest from Pokemon Go.
Once 40/400 is reached, the Candy Jar will become an evolution stone, evolving Meltan. Instead of consuming the Jar, the Candies inside are zeroed out.
Currently, the Candy Jar increments, but only once, thus why this is being committed on a separate branch. The bug appears to be at `engine\battle\core.asm`, line 842-861, likely 854-856. It's possible that it could be due to its position in WRAM, or that it's a `db` instead of a `dw`.
It was a long shot, but I did it! I added the Mystery Box from Pokemon GO! Very happy with the results here.
So here's how it works: When used, the game will replace Pokemon encountered with Meltan until the player leaves the map. This is sort of how it works in GO, with the player unable to close it and naturally petering out as they play.
Now multiple Meltan can be obtained, and in abundance, just like GO. Technically, someone could use this as a pseudo-Repel to replace hard encounters with easy ones.
Oh, and I'm pretty sure this happens vs static encounters as well, but it's awkward to account for I think that's hilarious, so...
- Attempted to fix the Mt. Moon J&J encounter (did not work, will look at the script file)
- Fixed a few bugged warps relating to Mt. Moon Square/Crater
- Fixed the credits text layout (just need to figure out how to decrease the delay between them, so it still matches the music...)
- Added the Crater guard back
- Changed the silhouettes in the credits to be more prominent Pokemon (Leader and E4 aces, plus some postgame teasers in Omega for the Chief fight, and the legendary wings)
This fixes the issue with Mt Moon Square's NPC text and changes the Battle Tent to a continuous system.
The Battle Tent's new system circumvents the issue with wBTStreakCnt while providing the player with more agency. They'll get constant prize money after each battle and can abandon the challenge at any time. It may feel more grindy but in my opinion works just as well.
I am not sure why the fossils don't show properly at the moment - it isn't related to going past $FF, as the Old Amber shows.
Dome and Wing specifically don't show properly and need fixing down the line.
Altered all the 'bird dungeons' to be consistent, as well as changing the encounters themselves a bit. Rhydon being in the volcano is a reference to Blaine's in the anime.
- Changes Bill's Garden to be a more fitting Overworld-tileset map
- Gives Cinnabar Volcano a unique palette, being a slightly less-bright version of the RedMon palette
- A few small changes/improvements to the Rival teams
- Reduced wild encounter levels in Silph Gauntlet a little
- Adds a 100% chance for a Magmar encounter when fishing in the Cinnabar Volcano lava
- Hides more 'secret' areas off the Pokedex area listing, namely Mt. Moon Crater and Faraway Island
- Improves Jabetta's sprite a little
- Gave nicknames to the Galar Evolution trades, they're a bit different to regional variants n such
- The Throw Rock command now only increases flee chance by 50%. It seems like it may be a little TOO strong though, bit curious.
- Changed a bit of text here and there
- Made CHIKUCHIKU trade accessible, still need MICHELLE
Still need to find out what I want to do with Body Slam, Swords Dance, and Thunder Wave. Slam/SD are on the Sevii Islands, and TWave is on an existing NPC who usually gives Self-Destruct.
Could possibly refactor the item receiving text.
This adds the Mt Moon Square House, faithfully recreated from GSC. I haven't yet sorted out the important details regarding the Crater Guard and such, though.
Making the map involved making a new desk tile and making house tile $36 be considered a counter tile. Hopefully there aren't any adverse consequences but I've never seen anything of that nature.
I noticed there are a ton of Clefairy text bits, so I refactored it to be a single line farcalled from `text_7.asm`. This also involved an interesting thing with the Pokemon Fan Club where the Pikachu fan has a Clefairy, so I fixed that too.
I figured that adding the dance was a little difficult right now, so we have Clefairys walking around instead.
I haven't figured out a good place to add the ladders yet (since there should be two entrances) but we'll figure that out eventually. It's plausible that we just make the Crater the southern warp, but I like how out-of-the-way the current one is.
Oh, and I fixed the Crater warps.
Overall, functional, but not finished.
Gives the original Eeveelutions their Yellow learnsets (albeit fixing the Haze/Mist glitch that Vaporeon has) to accommodate Eevee being a starter. Also gave Purakkusu and Umbreon some of the moves we added last because I forgot lol
This adds Victory4 in its original form over Mt. Moon Square's music, which could possibly have the initial jingle removed. I noticed the GSC version was being used, which wasn't ideal.
Mt. Moon Square's map is added, with accessibility where the Crater's originally was (for now). One warp on the south part of the map doesn't go anywhere (actually it's a glitch city). The shop and Clefairy event aren't done yet.
The Mt. Moon Crater Guard has been removed with the pretence of re-adding him on the Square map once it's finished.
I'm trying out having the text in the raw script file without farcalling, which seems to be more optimal than doing it the way the devs originally did it. The Battle Tent does this too.
This modifies the credits to have a KEP staff version. It's a little awkward aesthetically! But this should be used and expanded on in the future - people don't read readmes, so the people who've helped should be credited.
So it turns out that the code used in Factory Adventure *or* the TPP Anniversary Repository, by all accounts, should not actually work. Like, no, really, it ends up loading 0xFF as code, thus why it would always rst38. It just...doesn't...do anything. My friend Enigami, who figured out the issue, described the function as being "half-finished".
We came up with a solution that results in less functionality - now it needs a free box - but it results in less load times, so maybe it's just better this way. I doubt many people will catch that many Pokemon unless they were shooting for a living dex, which is unfeasible in its current state anyway.
I considered putting Bottle Caps in here, but it felt like making the game too grindy, so I changed it to just be in the Battle Tent shop with a very high price.