Commit graph

593 commits

Author SHA1 Message Date
Llinos Evans 9a24ec74d8 Vermilion Beauty Bug Fixes & more
- 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)
2023-06-22 18:54:25 +01:00
Llinos Evans c445892d7f S.S. Anne healer and other bits
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.
2023-06-21 21:06:08 +01:00
BlueZangoose c0306c1653 Increased Pokémon storage (12 boxes -> 14 boxes) 2023-06-21 19:42:13 +01:00
Llinos Evans c356ee81f5 Saffron Guards are now British
They desire the caffeine...

Mt. Moon Square no longer breaks game balance.
2023-06-18 09:12:42 +01:00
Martha Schilling f9d6534bcf BIG changes to postgame island
- 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
2023-06-17 20:36:01 +01:00
BlueZangoose 657a2fb24e Fixed Pokédex display during starter selection 2023-06-15 01:35:14 +01:00
Llinos Evans 7ed5c0ae95 1/256 Text and other transparency enhancements
- 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
2023-06-12 14:41:13 +01:00
Llinos Evans 62059aafd5 Bug fixes
- 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.
2023-06-12 12:48:08 +01:00
Llinos Evans 98110eddc8 DV / Stat Exp display in stat menu
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...
2023-06-11 07:25:45 +01:00
Martha Schilling c939b46740 Custom palette for Game Corner, slight early game rebalance
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
2023-06-09 14:58:59 +01:00
Llinos Evans 749abc67b7 Gym Leader Rematches!
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
2023-06-09 11:17:31 +01:00
Llinos Evans 35851ef6a9 LGPE Beauty Event
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.
2023-06-07 11:17:47 +01:00
Llinos Evans d0b7d56e5e Zero damage text
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.
2023-06-05 13:37:43 +01:00
Llinos Evans 1a68db3227 Post-Playtest Hotfixes
- 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.
2023-06-05 02:17:54 +01:00
Llinos Evans d10bbb5ba6 minor things for testing celeste hill
trying to debug this. made the warp better and moved cuno's cry. fixed some minor shitty code too.
2023-06-04 11:50:43 +01:00
Llinos Evans 0aa26308f2 Bug fix, ball miss text enhancements
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.
2023-06-04 10:52:00 +01:00
Llinos Evans 01737d7b77 Candy Jar in Indigo Plateau, plus improvements!
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.
2023-06-01 18:40:32 +01:00
Llinos Evans 9c953339af Candy Jar finished
- 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
2023-05-31 23:56:22 +01:00
Llinos Evans 228de2b718 Groundwork for the Candy Jar rework
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`.
2023-05-31 13:37:55 +01:00
Llinos Evans 934f8adcac Mystery Box functionality
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...
2023-05-31 05:03:22 +01:00
Llinos Evans 48b25069f8 Fix Mt Moon Square NPCs, new Battle Tent system
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.
2023-05-20 04:57:46 +01:00
MementoMartha b70e7b5fb5 A few updates
- 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
2023-05-19 16:17:44 +01:00
Llinos Evans 9a88543f19 Tweaks
Fixed the Rock issue (thanks frrfy)
Changed the Slowbro text to reference a move it actually learns
2023-05-19 15:48:02 +01:00
Llinos Evans 7fec4d9357 Lots of small tweaks
- 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
2023-05-19 03:21:00 +01:00
Llinos Evans 9576b04563 Decrease flashing damage animation loop
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.
2023-05-17 23:46:07 +01:00
MementoMartha 7e439981a2 A few tiny changes
- Gave Lorelei's room the cyan palette

- rearranged gym leader parties a little

- slightly better Tsubomitto sprite
2023-05-17 22:26:42 +01:00
Llinos Evans b03e9ffc6e Credit additions
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.
2023-05-15 18:01:28 +01:00
Llinos Evans 6b954dbfd1 remove jack from the tent
he's def being used somewhere else, so maybe junior can be here looking pretty instead
2023-05-15 09:45:45 +01:00
Llinos Evans 7ebb4d02a4 Battle Tent done!
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.
2023-05-14 20:28:37 +01:00
Llinos Evans 0bda742995 tweaks
still struggling with the removepokemon bit...
2023-05-14 08:58:34 +01:00
Llinos Evans 8e10d26336 Scripted losses
Now the last issue is making this not crash when restoring the player's team. Very odd...
2023-05-13 20:13:40 +01:00
Llinos Evans 4de0a13543 So it "works"...
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.
2023-05-13 19:07:16 +01:00
Llinos Evans 64dea915e8 Fix the party selection bit
I am shaky on using this area of WRAM but it seems to make the party menu work as desired.

Crashes when trying to load the opponent.
2023-05-13 17:47:15 +01:00
Llinos Evans ec61a039b8 Battle Tent Port
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.
2023-05-13 02:50:31 +01:00
Llinos Evans 36baa9e623 Boy/Girl option
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.
2023-05-13 00:08:39 +01:00
Llinos Evans e6a74546c2 Functional Hyper Training!
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.
2023-05-11 20:32:46 +01:00
Llinos Evans 9bc7505195 Groundwork for James Bottle Caps
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...
2023-05-11 08:43:19 +01:00
MementoMartha c949e2c194 Okay, NOW it's fixed
One misplaced apostrophe caused it to break. Whoops.
(Also made Route 25 a bit nicer while I was at it)
2023-05-07 11:01:56 +01:00
MementoMartha 466b1992b1 Palette fixes
This should fix some issues with map palettes being displayed incorrectly, as well as giving a unique palette to Cerulean Cave.
2023-05-07 10:34:21 +01:00
Llinos Evans 53e96553dd Fix evolution bug
Caused by `base_stats.asm` not being in the same bank aa `evos_moves`.
2023-05-02 21:59:08 +01:00
Llinos Evans d22bb2994b (mostly) fix the tradeback tutor
This makes it so everything except Rhydon works properly. At this point I'm willing to have Rhydon not work, they can just evolve into Rhyperior instead.
2023-05-01 19:39:30 +01:00
Llinos Evans 7200b1474a Groundwork for Vermilion Passes
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.
2023-05-01 17:42:16 +01:00
Llinos Evans 2bb2282beb new cuno sprite 2023-05-01 00:47:10 +01:00
MementoMartha 351b875e3b Update palettes.asm
Gives Garnet Cavern its custom palette. Also reverts the changes I made to Viridian Forest's palette since it's very hard to spot the difference anyway, and I needed the space. Also had to revert Faraway Island's, which I'll revisit at some point
2023-04-30 21:53:31 +01:00
MementoMartha d0b65e945e Fixed several bugs
- 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
2023-04-30 00:58:22 +01:00
Llinos Evans 760121d8fd Adding the last of the used moves
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.
2023-04-29 21:00:17 +01:00
Llinos Evans 7931dad49d Debug Battle doesn't replace attacks with Pound
I've commented out the code relating to this, which allows for us to test move animations better. It also frees up a WRAM slot.
2023-04-29 18:51:42 +01:00
Llinos Evans 46ffe095e6 Voltorb in Fuchsia
simply makes sense tm
2023-04-29 18:42:56 +01:00
MementoMartha 15762ead34 A few small improvements
- 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
2023-04-29 18:10:11 +01:00
Llinos Evans d5708ef12e Citrine Pokecenter, trade refactoring
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.
2023-04-28 00:48:09 +01:00