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.
This now, technically, works.
However, the Battle Tent was seemingly made with the assumption trainers are Pokemon, which our hack has moved from. I've made it so it can load it as a trainer battle properly, but you will deathwarp. I need to implement a scripted loss system.
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 is...most of the stuff necessary for the Battle Tent to work. I've faithfully restored most things so far, including doing a few grammar tweaks.
Main issue is that we get a really strange softlock when the Pokemon selection menu comes up. Not sure why, but point is, it can't progress to the next bit for debugging like this. Committing now to ask for assistance.
- Made Gym Leader levels more consistent
- Updated sprites, including a complete redo of Espeon's (based off the Gold sprite)
- Fixed an issue where Blue would have an incorrect team
- Changed Celadon Gym trainer text to accomodate for being a girl
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.
This commit adds NPCs and signs to Citrine, doing some significant worldbuilding in the process. I considered adding an event where Oak greets you like how the Magma/Aqua Admins do on the ORAS Battle Resort, but it seemed a little too on-the-nose, y'know?
There was an issue where you wouldn't be walked out of doors automatically, which was quite immersion-breaking. That was because the door tile IDs weren't defined - this is fixed too.
Some map elements have been altered to facilitate the new changes, and obviously, some map sprite slots have been filled.
Importing and changing the Battle Tent is most likely my next task.
Currently, he doesn't deduct a Bottle Cap and he only fills out Attack and Defence. DVs are stored as a 16-bit address, so I need to find a way to make `a` work with it...
This update does a good few things. Giovanni now uses his unused encounter theme in all pre-fights, which is followed by the regular evil trainer theme when you're about to fight him. This feels very correct. His team has also been minorly altered.
I backported LGPE's pre-fight monologue for Giovanni in Rocket Hideout B4F. Adapted for RB's story, of course, no Cubones here. The original text is very awkward and abrupt, and it also makes the encounter theme feel much more effective in delivery. I think a lot of people can appreciate this.
I also backported Jessie and James for Rocket Hideout B4F while I was at it. I had to change their event script quite a bit for it to fit, and their walking seems...awkward. Regardless, it's functional. The rest will be done with time.
To make future dev door testing easier, I'm keeping all warps I've previously used in comments.
This fixes the rival team selection issue and changes the wild data of Route 25.
The rival pulls data using hex and I put in dec like an idiot. Also, fixed the ordering.
Paras and Skimper make little sense on Route 25 and felt honestly quite immersion-breaking. Paras is a cave mushroom crab thing, it wouldn't be seen on a seaside route like Route 25. Skimper just didn't feel right on a similar basis - just...why would it be there? It's a newt, right? Instead, I added Venonat, a Pokemon seen in Yellow, which needs to be here to benefit from the learnset tweaks that we backported.
With the way KEP is shaping up, the Rocket Hideout can easily stay with little issue. I don't expect it to be a problem at all. Therefore, in the interest of keeping Lavender Tower's progression the same, it's being restored. I do expect some Lavender Tower floors to be nommed, though.
I expect Silph to also be salvageable but I also really hate Silph.
Oh, also, the Game Corner guard has been buffed. He sucks. They call that a guard??
Warps are messed up at the moment and we need to test it for Old Sea Map purposes. It uses the Fuchsia palette right now but that's not an issue right now
The warps are currently broken for reasons I can't figure out for the life of me. Faraway Island works but is loaded in a glitched state where other warps break and are generally very unstable, while Citrine softlocks. It's progress, though.
This adds a map for Cinnabar Volcano's floors in the run-up to Moltres. I used a S.S. Anne style compression technique here, having 4 floors on a decently sized map that are just far enough apart for a player to never actually see them. This maintains their suspension of disbelief while giving us way more space to work with. I want to compress a lot of RBY maps like this if push comes to shove - there's a lot of places where this is possible.
In the interests of compression, I started using the Agatha bank again, as I removed a lot of maps from there when making bank 22. There's some space for maps.
Also I made 3 more blocks for cavern which caused it to overflow the bank it was in - fixed that by swapping with PreGym, which is probably much smaller.
Cinnabar Volcano hasn't been changed yet in the interest of Martha finishing that bit up.
I messed up Garnet Cavern's 2F name for some reason
Also added all the warps which are, ironically, exactly the same as the international Cerulean Cave. Added the event for Galarian Articuno but gee I hope the constant skip doesn't cause any issues
It should contain a mix of Rock, Steel, Ground, and Flying-type Pokemon. Feels like a cave, but has fliers to reference Galarian Articuno. Could change some stuff out for more Psychic-types given Galarian Articuno lives there. Needs more level distribution - namely, buffing near the end a la other caves.
Currently just uses the RG Unknown Dungeon map, which should be changed accordingly. The warps and stuff outside of basic entry aren't implemented.
Has a halved encounter rate compared to other maps, which matches the idea that caverns don't sustain much wildlife.
Mt Moon theme may not be used in the final product.
- Fixed an issue where KEP's new static encounters would sometimes not disappear correctly
- Fixed an issue where boulders wouldn't fall down holes
- Fixed issues where the SS Anne Rival and Oak in the Indigo Plateau wouldn't appear, causing a softlock
- Fixed an issue where the Mt. Moon fossils wouldn't disappear
- Added several items back after they were previously removed
Dark Void and friends aren't in and probably won't be, I dunno yet.
I think Kowtow Cleave is really badass so I gave it to Night Slash too.
Scream Tail and Barunda now have Disarming Voice, which also has its own sound, which is basically Sing but a bit different.
Fake Tears was given its own subanimation to account for the fact it's basically a Water Gun used on yourself.
The FIGHT debug function helps a lot with this whole thing, so test with that.
- All of the Silph Gauntlet maps use the same palettes as the map's they're based on
- Viridian Forest uses Viridian's palette, it just makes sense
- Power Plant is now yellow, just 'cause.
- Game Corner payouts are much faster, and have been slightly rebalanced
This adds Citrine Mart, which is battle-centric. It sells all the "strongest" items and makes Max Revives renewable.
I made a specialised tileset for Citrine Mart, combining the old and new styles to make something that feels right.
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.
Includes the same healing pad that was in Lavender Tower, as a reward for getting halfway! Trainers can't currently see you, which I'll fix once I've added the trainers on 2F and 3F.
This adds the first half of an event where you will find the Galarian Birds. It is not finished yet.
It currently bugs out when Galarian Zapdos tries to run away and I don't know why. Frame-by-frame, it seems to be when the player has to move. I've tried different things to make this less bad, but they don't work.
Here's how it's meant to go:
1) Articuno flies away (done)
2) Zapdos barges past the player like Silver does in GSC (bugs out)
3) Moltres moves in front of the player and engages (not done)
If anyone has a better way to do this, please let me know!
Minor changes;
- Connection for Brunswick-Citrine looks nicer
- Celeste has a few changes to make the event run easier.
The groundwork for Brunswick Trail events has been done. Wild data, Cactus event, and Zapdos-G events are set up, plus an NPC. This also makes the Fake Tree sprite available.
I made the warp at the tunnel in Brunswick goes directly to Celeste Hill and back. Warp tile made functional.
Many bugs right now:
- Cactus doesn't disappear after battling it. Also, making this work how I want it to is hard.
- Pokemon are encountered on every tile, which is likely because it's considered to be indoors. In trying to fix this, I seemed to completely screw up the maps, so this isn't being committed. Handle this with care.
- I made a spriteset specifically for Citrine, but it doesn't seem to be working for Brunswick, likely because Brunswick is an indoor map and thus isn't just taking it.
Misc. changes:
- Moved Sandy Shocks to a 4% encounter slot in Mt. Moon Crater to be equal to Scream Tail.
- Restored the proper translation for the "rotten PRESIDENT" scientist, courtesy of Dr. Lava and Nob Ogasawara.
- Brunswick Trail and Faraway Island now use correct palettes.
- Faraway Island has been altered slightly with the same tileset as Celeste Hill
- It's now possible to fly from Citrine locations, as well as Faraway Island, and the roof of both Celadon's Mart and Mansion.
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.
Right now I'm facing a weird bug where if you enter, you get the quote, but the fight doesn't start and it happens while you're stepping for some reason. Very odd.
To-Do List for Brunswick Trail:
- Galarian Zapdos event (give hide/show data)
- Tunnel to Celeste Hill (tileset moment)
- Couple by the sea
- Fake Tree (Cactus, may need a spriteset)
- Wild data (needs doing)
- Maybe a few trainers?
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.
Some big dubs for KEP today. This commit backports the Yellow overworld spriteset, and also adds the cat sprite for Meowth. This allows Jessie and James to use their overworld sprites in the Rocket House and serves as groundwork for backporting their other events.
There are altered Daisy and Nurse Joy sprites that may or may not warrant usage. That can be discussed.
Naturally, this also means there's a ton of overworld sprites to use elsewhere. Revamps of the "Bulbasaur house" in Cerulean and the Surfing Pikachu sprite change come to mind.
An & symbol has been backported from GSC for Jessie and James's trainer class as well.
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.
Currently the move tutor is a little bit broken - the IDs are 1 above how they should be. Shell speculates that it's searching at the table starting from Kangaskhan due to the way the decrements shake up but it may just be making things more complicated than they are.
Big cheese code is `PrepareTradebackMoveList`, it's where things are mucking up.
Also, the code can be significantly optimised, as it's currently being adapted from the function above, `PrepareRelearnableMoveList`; It doesn't need to check levels, for example.
Note that the relearner functions properly, so use it as a reference. I may have removed something important.
Technically, we could have NO_MON as an entry which may make things shake out properly. But I'd rather have a proper fix.
This adds the Mega Punch & Mega Kick guys from FireRed and LeafGreen.
Given Mega Punch was in Mt. Moon, and GF replaced it with Thief in FRLG, I decided to change the TM to the Wing Fossil, which currently isn't obtainable outside of Mt. Moon Crater.
This reverts some of the opening-up stuff we did. I kept the Cut Trees around Vermillion and Celadon Gym packed away, as they aren't problematic and forcing HMs in gyms is cringe. But, the absurd skips made possible by the other Cut Trees being gone is way too much - Celadon is a huge power spike and it throws Martha's fishing balancing off the rails.
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.
A three-stage Bug line that mirrors the Caterpie and Weedle lines, being an old design for Weedle's evolutions. Pudi, Hinaazu and Betobebii have been removed, though.
Giving all the gen 2 evolutions their finalized cries (including Tsubomitto's) and also adding the unused 'Earthtron' cry for Gorochu, Crocky and Jagg.
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.
This moves Snorlax as Ema suggested and removes the Cut tree in front of Surge. This is to stay in-line with the current idea of an open-world Kanto.
Also changes the Magmortar trainer in Cinnabar as that's Blaine's ace now.
Mainly targeted at the gyms. Generally increasing Pokemon variety and ensuring they match the types in said gyms. Also restored all the rockets so they stop loading undefined teams.
A party for the Firefighter has been made to add to Cerulean Gym later. Seemed appropriate.
- Decilla replaced with Beedrill. Decilla doesn't make sense, as he uses Ground-types, which Decilla isn't. Beedrill was given as a subtle manga reference.
- Nidorino -> Nidoking as it just doesn't make sense to see one at Silph Co. Could be changed further as his team is, generally, pretty terrible.
So this isn't working very well. It's halfway there and worked exactly once with what I can only describe as a cosmic ray event.
Here's how it's intended to work: Right as you open the Card Key door, Omega comes barging through, having previously been fighting with Giovanni.
The walking and stuff seems to work, but there are three issues:
- Omega's battle doesn't start, causing a softlock. `call TalkToTrainer` seems to be the iffy point. Note that this code is usually used when talking to a static entity.
- The music bugs out as Omega walks over; this may be linked to the above problem.
- Once these issues are alleviated, Omega will have to disappear, but this isn't a massive deal.
Also includes a dev door in Red's room to easily access the event, and minor code cleanup with Viridian Pre-Gym and Oak's lab - just unnecessary comments.
Added map data for Citrine City, including wild spawns, as well as a fly location. Also fixed an issue where Bill's Garden couldn't spawn wild Pokemon. Citrine is also green for some reason.
A guy in a Safari Zone Rest House will hand you a Meltan he found lost. It's built off the Lapras guy in Silph.
Also changes the positions of some trader NPCs in the Pokemon Centres to match the others.