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.
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.
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 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.
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.
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??
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
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
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.
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.
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 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.