Commit graph

59 commits

Author SHA1 Message Date
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 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 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 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
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 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 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 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
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 2bb2282beb new cuno sprite 2023-05-01 00:47:10 +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 9b387cab7e Expanding on Pokemon icon usage
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.
2023-04-23 21:25:45 +01:00
Llinos Evans 09ad875023 Finish Rocket House, Yellow sprite backport
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.
2023-04-23 17:59:28 +01:00
Llinos Evans 2f01628cd9 Groundwork for Tradeback Move Tutor
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.
2023-04-23 06:11:05 +01:00
Llinos Evans 437602bf21 hm m yes carapthor
Altered the back sprite to be accurate to beetle wing cases, and changed the S.S. Anne Gentleman to use Carapthor (and Mr. Rime).
2023-04-22 17:07:05 +01:00
dannye 772520c2c2 Merge branch 'master' of https://github.com/pret/pokered 2023-04-19 20:04:38 -05:00
Llinos Evans 094869ab5e Citrine geography rework, Metal Coat
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.
2023-04-17 18:40:30 +01:00
Llinos Evans 77fd55ea49 Add regional trades, break trade limit
All over the place! S.S. Anne doesn't work properly though.

Thanks to Chatot4444 for bypassing the trade limit.
2023-04-09 18:56:19 +01:00
Llinos Evans 7e3d48513b Add Meltan Event
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.
2023-04-09 14:48:04 +01:00
Llinos Evans 4389e86fd1 Revert "Revert "Merge branch 'master' of https://github.com/PlagueVonKarma/kep-hack""
This reverts commit e772de43d5.
2023-04-09 14:03:02 +01:00
Llinos Evans e772de43d5 Revert "Merge branch 'master' of https://github.com/PlagueVonKarma/kep-hack"
This reverts commit 9bf8886d4b, reversing
changes made to 8cf1ba9fc9.
2023-04-09 14:02:08 +01:00
Llinos Evans 3f6005f3f1 Refactor Item Constants
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.
2023-04-09 12:25:10 +01:00
Llinos Evans b0d17719db Regional trades for new forms
Sandslash and Raichu stopped working - hypothesis is correct.
2023-04-08 23:37:36 +01:00
Llinos Evans 8b95d592ec More regional trades
None of them work properly due to a bug but it's no fault of the events themselves.
2023-04-08 02:00:25 +01:00
Llinos Evans ed1ced807b Regional Trades!
- Regional trades now dummy out the "-A" thing etc so they look nice
- Added Celadon, Saffron, Viridian, and Vermillion regional trades
- Added Galarian Sidegrade trades to the S. S. Anne, but Perrserker and Sirfetch'd specifically don't work. I have zero clue why, as they work the same as the rest.
- Corrected grammar in the "Happy" text when you finish a trade
2023-04-08 01:05:15 +01:00
MementoMartha 64a9fdbf00 A few Alolan forms!
Adds Raticate, Raichu, Sandslash and Persian. Also updates Hitmontop's sprite.
2023-04-06 12:29:09 +01:00
MementoMartha 4606a3d863 Hisuian Arcanine and Electrode!
(also another title screen graphic since we can never settle on which one looks the best)
2023-04-04 19:58:41 +01:00
MementoMartha c4d780b8c7 Finally adding Meltan and Melmetal!
Also had to remove Mr. Mime-G since I forgot to add Alolan Persian and Raichu. Oops.
2023-04-04 09:34:23 +01:00
May Evans eb46fbdaf6 Pikachu/Eevee Mode Part 2
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!
2023-03-28 19:07:51 +01:00
May Evans 0226ba9579 Pikachu/Eevee Mode
So some bits of this are untested, but the base starters are unaffected. I had to work a lot with the sprite limits so Oak's lab has been changed a bit.

This adds a Pikachu and Eevee "mode" to the game, allowing you to pick them as starters. When doing so, the Rival will always pick the opposite.

There are some glitches;
- Picking Charmander makes Blue erase himself from existence
- Picking from anywhere other than the front of the table may have odd results.
- Oak has to be shown in the lab at the start from now on for some reason; side effect of removing the dexes, there's definitely a fix for this.
These are from me not finishing the ball picking process - it was a little weird.

Parties based on starters have been updated but I had to cut out a lot of unused trainer slots.

Also the unused names were removed.
2023-03-25 16:02:23 +00:00
SatoMew 5c4795d5bc
Complete and improve debug name labels (#408) 2023-02-26 11:14:21 -05:00
May Evans b7973444b2 Myriad of changes!
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.
2022-12-11 21:40:43 +00:00
May Evans 17d12a0413 Faster health bar
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.
2022-12-08 16:11:29 +00:00
May Evans 97cb4cfaf3 Add another CeladonU NPC
This is a reference to another bit of the Tamamushi booklets, where they talk about the Pokemon that can fly without wings.

Also, shortened one of the text chains. In general, they need to be much shorter.
2022-10-17 13:09:14 +01:00
May Evans 78ae4e9029 Move Mew, add Old Sea Chart, add wild data
I am 90% sure something will bug out, can't test the map right now for obvious reasons. Tested everything else, though.

Mostly copied data from Cinnabar Volcano while commenting out Vermillion Dock Mew info to move it.

Wild data has been added along with a fishing group, just dummied out slots.

Old Sea Chart is a clone of the Citrine Pass which is all it needs to be. It is obtainable near the truck.
2022-10-16 09:05:26 +01:00
MementoMartha a05796ece5 Citrine Pass and a few little tweaks 2022-10-02 17:16:30 +01:00
MementoMartha f6f43781b8 PZ, Magnezone and the Dubious Disc 2022-10-01 20:53:37 +01:00
MementoMartha c6a0566063 fixing some errors with items 2022-09-30 16:54:56 +01:00
emaskyesmogon 22c4561b35 New Evo Items
Based Martha can fix
2022-09-30 09:37:46 -06:00
MementoMartha fe33ec1040 Electivire & Magmortar! 2022-09-29 17:00:48 +01:00
emaskyesmogon 7e03467783 204 mons
Steelix, Tsubomitto, Blissey, Crobat and Hitmontop
2022-09-27 10:36:06 -06:00
May Evans c243548fc4 Add Trader to Celadon University
Includes fixes to allow trade evos to exist
2022-09-26 22:08:35 +01:00
May Evans 6c081d2d27 Improve fast text scrolling
Instatext seems to have its own thing going on that I have issues sorting, so I'm just removing the frame delay on fast text. It doesn't look like much but it's surprisingly good.

Also, this makes fast text the default option.
2022-09-04 12:44:45 +01:00
May Evans 723f7d56f7 repels
also annoyed me exactly once
2022-09-04 12:29:02 +01:00
May Evans 2e43aae60b Give DebugChu Flash
Inconvenienced me exactly once and egg has surf anyway
2022-09-04 11:59:03 +01:00