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.
I used Vortiene's sprite sheet generator to get ourselves one for KEP. Took a while to adapt to our interests but worked out really well. Will use this to get ourselves precise credits.
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.
Legendary theme hadn't received the proper rename, that's fixed. Also, this theme now plays for Snorlax and the Power Plant Voltorb/Electrode, just like LGPE.
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!
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.
- 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".
The Gift Pokemon from vanilla now use the LGPE levels, which are all far more applicable for general use. With the Move Relearner's existence, it is unnecessary to hold back their levels anymore. This most notably means the Silph Co. Lapras is now Level 34, much more appropriate for general use.
- 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.
- 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!
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 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.
- In the event of a 1/256 miss, the game will now state the Pokemon evaded the attack to signify its occurrence. This is part of an effort to make misses, overall, more transparent.
- Battle Debug now loads some items to assist with testing.
- Misleading Guard Spec message in Celadon has been changed to refer to X Special, which it was actually describing.
- Removed "it can spook the target sometimes" text when getting the TM for Rock Slide, because it's a LIE
Imported from Shin Pokered. Required a little bit of refactoring but all in all very straightforward. I changed the WRAM associations to be easier for me to work with should I ever need to.
I am not a 100% fan of the way this works - requiring hold inputs - but I am also not sure how to make it just be something you can easily input...
In RBY, there are extremely minor situations where zero damage can be dealt. These usually involve quad resists and profound level differences.
To quote the disassembly:
; this only occurs if a move that would do 2 or 3 damage is 0.25x effective against the target
However, Psywave is also capable of this.
Thus, a new case has been added for when this occurs, which is triggered through a new WRAM entry. Easiest way to do it without having to restructure how misses are handled.
This is overall minor, but it'll probably make at least one person laugh, and that's all I need.
- 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.
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.
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...
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.
- 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.
In vanilla RBY, Pokemon flash 6 times when taking damage from moves like Tackle or Fury Attack. This is really slow and sells the impact way too much, drawing out battles by a lot. I tried 3 but it looked just slightly too fast, so I went with 4.
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.
Some Celadon University trainers were in slightly inconvenient locations, making a straight line to the door clunky.
Also, generally made the readme more useful.
This adds the boy/girl selection from later generations, using the pret tutorial and a spriteset from Pokemon Anniversary Red. I made some alterations, namely inserting the option later into the speech to be less clunky, and having the Nidorino become a Nidorina if you pick the feminine option.
I decided to make the third name option Seren, a common Welsh name for girls. It means "star", which is really cute! But...most people will probably say it's a Panel de Pon reference, which is cool too.
There are ways this can be improved (SFX, menu message, insta-recalc stats), but this finishes the Hyper Training functionality.
Talk to James, give him a Bottle Cap, he boosts your DVs to max, and then he deducts a Bottle Cap.
Notable that vanilla vitamins don't recalc stats immediately as well, so maybe the recalc bit isn't necessary.
I am tired of doing the Legendary wing event, so I'm populating Citrine City.
Some notes;
- I refactored the In-Game Trades to match their nicknames and re-distributed them.
- I swapped Fuschia's bench guy for the third unused one meant for the safe house, but I may outright restore these.
- I refactored the Pokecenter Hidden Objects to all use the same set - they're clones of each other, so this works out. This saves a TON of bytes and works fine.
- I placed the Harry trade for Kadabra/Alakazam in Citrine Pokecenter as it feels right for such a powerful Pokemon to be post-game.
Now has new music (the Mt. Moon Square theme from GSC, which was originally planned as a victory theme in Gen 1), as well as functioning wild encounters and items.
This adds Pikachu, Cat, and "Small Bird" menu icons. The cat has a custom animation done by myself.
The Jigglypuff in the Pokemon Centre now uses the new sprite, nice 'n' pretty. Officer Jenny is also in Cerulean. The Pokemon from Melanie's house in Yellow have been put in Mr. Fuji's House, given the purpose of the house in RB is different. I think it ends up fitting very nicely.
Chansey has been given its proper sprite in Fuschia. Yellow didn't actually do this, as Chansey doesn't have a walk cycle, causing the stuff that exists to go unused. I wanted it, though, so I had Chansey just not walk and turn around. Oh, and it's in all the Pokemon Centres now. Yeah, that's a...lot of changed files.
Fixes a few small text issues, updates the readme, and rebalances the fishing rod Pokemon. Also shifted Blottle to earlier in the Pokedex, cause I felt like it.
This map is pretty much finished, save for the map sprites for Jessie, James, and the unused Cat (aka Meowth) being imported, as well as an & symbol. This adds everything else - the marts, the Rocket Trio fight, the meeting music, the tileset, the trainer class for Jessie/James, I could go on. A ton of work well-done.
Lots of things here. Citrine now has its own tileset featuring content from the prototype asset leak. This includes new grass, signs, and so on. Lots of tinkering had to be done to make it look good, but it does! Collision and everything is done, but grass needs to animate properly. I'm committing as-is because making the grass animate is actually very difficult.
Also added the Metal Coat and fixed the issues with prior evolution methods - evo items first, level-up second. It is currently unobtainable.
Alright, never put items after the floors. This is very, very bad, as it actually causes a myriad of problems whenever the game tries to assert the item list on its lonesome. Effectively, this has been adding floors. This caused the item descriptions to be offset by 21 spaces once you get to the TMs. The fact it worked before was a miracle.
Anyway, all considerations have been made when doing this, so it should all be just fine.
If you need to test if the items are ok, check the Up-Grade on Porygon, as it's the last in the list. Checks showed it was ok for me.
Also, Old Sea Chart now uses the localised name - Old Sea Map. This actually fits in-game, which is good.
This comments out the script that makes the Name Rater check the trainer OT before giving his "rating". Therefore, traded Pokemon, including regional ones, can now be nicknamed.
- Move Deleter and Move Relearner are added, featuring updated code from Shin Pokered, which took the code from Mateo's Red++ hack. They replace the Trader in Celadon University. The code has been updated quite a bit to fit the modern standards of pokered.
- The Trader has been moved to the trade room in Cinnabar Lab, which is thematically appropriate.
- Eevee's L1 learnset now appropriately features Tail Whip; this was a mistake made by Martha when porting Yellow learnsets.
- Fast Text cursor slot is fixed
- New ROM Bank stores the new maps as it got full when adding the move relearner/deleter - Maps 21 will still have space though.
- WRAM has been fiddled with, please please read the notes if you edit the Move Relearner area, it needs quite a bit of space.
- Wild data for Mt. Moon and Route 22 has been tweaked a little bit.
Seems to interact oddly with Saffron but I believe this is because of the way Team Rocket works. The event itself works fine.
Also added the Up-Grade, as before, Porygon was evolving via Trade.
Uses text referencing LGPE, and has a similar location.
Because of the sprite limit in Saffron, the Pidgeot NPC has been removed.
Thanks to Frrf for helping me fix the broken code I initially sent in. This commit refines the mode so that the Oak Lab cutscene is finished and the party picking process is all concrete.
Also, given Surge is a fight, the S.S. Anne Pikachu rival can have Raichu, surely...
Also, the UnusedNames files were, in fact, needed...otherwise, the item names get all corrupted. Probably left some code behind.
So we officially have a new funky mode!
Because Celadon University has the Dragon Rage TM now, Take Down can be back in the mart. It's more applicable and doesn't give you too big of an early-game power spike.
- Replaces the Old Rod with the Candy Sack, an item to evolve Meltan into Melmetal. Meltan and Melmetal aren't in yet.
- Improves Gym Leader and Elite Four AI by a lot. They still use items, they're just better. Fixes XSpecial use while we're at it; before, it didn't actually increase the stat...
- The Scarlet Book now takes up both shelves, one section for each Paradox Pokemon. I also moved the bookshelf so it looks nicer.
- Text in Celadon University has been reduced significantly, taking up less memory and being a bit more RBY-like. It has also been made more accurate (thanks to Daiginjo for translating my booklet!)
- The Magikarp researcher in Celadon University now gives TM Dragon Rage (no longer unused!)
- Added a guard for Mt. Moon Crater.
- Removed TrainerNamePointers, Blank Leader Name Code, and Dakutens/Hakutens using a guide published by YakiNeen.
- PP no longer uses a shitty graphic and is instead properly implemented into the font, optimising the status screen. Also displays in-battle which is kinda cool.
- Lorelei, Bruno, and Agatha now play the Gym Leader theme, not just Lance.
Still unsure how to fix Celadon University's trainers, all I know is a lot of the information should be taken from the Oak fight I did. The code is radically different and doesn't call trainer headers at all. You'll likely want to start from scratch.
The Mt. Moon Crater Guard's text is a little wonky, not sure what's up there. May have been from the way I accessed Mt. Moon in testing. Anyway, if you want to mess around feel free.
I gave the readme a facelift to show what's what, and also added notes on the new evolution conditions.
Some notes on evo condition changes;
- Set Sirfetch'd to be a Heart Stone evolution, seems fitting.
- Reverted Pikachu back to stone -> trade, as this is the most consistent with what people will rationally do. People **will** try to trade for Gorochu according to the mythos behind the whole thing, there's really not much wiggle-room.
- Swapped the Vileplume and Bellossom to match SW97 and base Vileplume, it's just confusing to veterans otherwise.
Things to consider:
- Making the Porygons consistent, right now they just aren't. Either add the Up-Grade or make Porygon2 trade as well.
- Adding the Politoed evolution to Poliwag as well to match early material that implied such.
This is a pretty hefty commit, so let's break it down.
- Fixes Pokedex entries for Bittybat, Bulbasaur, and Shellder.
- ...presumably fixes the options menu.
- Adds a Fishing Group and water wild data to Diglett's Cave, also reduces the encounter rate. More to come.
- Modifies parties, including evolving Rival 2's starter.
- Attempts to fix the Ultra and Safari Balls by making `BallFactor` 4, which appears to be the intended number. Tests yielded positive results.
- Restores a ton of Japanese references that got removed in localisation, including some errors.
A simple 1-character change that does so much. Usually, the game delays it by 2 frames per pixel, so changing it to 1 doubles the speed. If it remains too slow, I believe it can be removed entirely, but I'm avoiding it in case of bugs.
I also changed the debug Pokemon to Croakozuna as Pound is s/e vs Dark, allowing for an easier visual. Rhydon changed to Rhyperior for the same reason; more damage, better visual.
This restores much of the 1996 Tajiri lore to the Kanto Pokedex. Sourced from Dr. Lava's translations.
You can see this as a more mature, uncensored Pokedex. It contains more biological details and relates the Pokemon to real-world animals. I believe this can enhance the "dreamy" feel of the region to some degree, but could be off-putting to newer fans.
Some Pokemon did not need new dex entries due to either sharing the information with the book, or being Mew.
Scream Tail's dex entry was also reworked due to overflowing.
Some grammar enhancements were also made.