internally kind of sloppy, filenames refer to Pink as a few different things and none of them are by their final name lol
Haven't managed to get this to build the debug rom? Probably not a big deal, though you have to specifically run "make kep" instead of just "make"
Pushing everything I've done, currently doesn't build because the Galarian Birds filesize is too thicc for the section but I need to push this before I go mad
(kinda just clearing my commits list while I'm working on 1.3 still.)
- Lance's Room is no longer listed as a dungeon map
- Changed the layout of Cinnabar Volcano YET AGAIN, making it a little more visually appealing. If you get softlocked here, I will just sigh disapprovingly.
- Various moveset fixes:
- Arcanine-H gets EQ and Fissure now
- Raichu-A loses Counter
- Raticate-A gets TBolt and Thunder
- Swapped Bullet Punch and Iron Head around in Scizor's learnset
- Umbreon gets Psychic
- WigWug both now get Ice Beam and Blizzard
- Seel and Dewgong get Water Gun by level up
- Swapped inconsistent moveset levels for Omanyte and Omastar
- Eevee gets Quick Attack earlier
- Fixed a typo in Slowbro-G's dex entry
- Changed the Tauros Combat Breed trader's text to remove a moveset inaccuracy
- Changed Misty's AI to now use X Specials instead of Potions
- Gave Chief's teams a slightly updated moveset
- Fixed an issue where Steel just...didn't resist Rock? How did I miss this?????
- Made Sandshrew more common in Mt Moon B2F
- Changed the Marowaks on Silph Gauntlet 4F to Guardias
- Fixed issues where receiving a Gym badge wouldn't play the correct sound in most situations
- Increased the level of the Salesman's Cubone gift from 17 to 23
- Decreased the levels of the Fossil gifts from 44 to 35
- More text fixes
-
This commit fixes the following bugs:
- Viewing the Town Map in Viridian Pre-Gym would show the player as being in Cerulean.
- Psychic, Psywave, Night Shade and Dazzling Gleam wouldn't shake the full screen
- Okay, NOW it's impossible to trap yourself in Cinnabar Volcano.
- Getting the Vermilion Beauty gift would lock you out from getting the Silph Co Lapras gift later.
- Text fixes
- Adds a slightly remade version of the Rocket battle theme that plays when fighting Rocket Grunts, Jessie & James, and Giovanni (1 and 2)
- Giovanni 3 and Chief now share a new battle theme composed by myself and LuciShrimp, which is a slower, more intimidating remix of the regular Rocket fight theme.
- Gave Giovanni 3 his own trainer class, allowing for better AI routines and smarter move choices.
- Removed Giovanni's name from the Viridian City Gym statues to keep his identity a further secret. It also made more sense than in vanilla.
- Gave the postgame Morimoto fight a better selection of moves.
- Fixed a bug where the Elite 4 wouldn't use Full Restores. Apparently the game only allows one item per trainer.
- Gave Oak and Chief custom AI found from proto assets (then changed to be less ass)
- Small amount of balancing
- Minor text fixes
- Figured out roughly how the current high-level AI works (Stat boosting moves are only used sometimes on the first turn, Recover is only used sometimes when below half health, otherwise just attack with a move that isn't ineffective. More testing needed for stat lowering moves and things like Barrier)
This fixes some of the issues with the current AI system to make them better. In short:
- Most Trainers should correctly recognise when a move is not very effective, and not use it. If they have a supereffective move and a regular-effective move, they will slightly prioritise the supereffective one, but not always use it like in regular RBY. This prevents the Lorelei softlock, for example.
- Trainers won't attempt to set status effects on Pokemon that already have one, won't try recovering at full health, and won't attempt to set up multiple Reflects or Light Screen
- Certain high-level trainers will recognise when a Pokemon does not have a status, and will try to inflict one if so. This makes Agatha's, Erika's and Koga's team types much more effective.
- Youngsters and Cue Balls no longer pick moves randomly and will actually give it some thought
- Brock and the Engineers now recognize type effectiveness, Students do not given how early they're encountered.
- General improvements to move choices for all Gym Leaders, E4 and Shinjuku Jacky.
We're almost done.
Just a bit more to go! Added improved animations for the following moves, mostly taken from Vortiene's PureRGB hack:
- Struggle (user now shakes before attacking)
- Fire Punch (added sound effects)
- Ice Punch (added sound effects)
- ThunderPunch (added sound effects)
- Swords Dance (increased duration by adding an unused subanimation)
- Fairy Wind (changed sound effect)
- Jump Kick (much more detailed, user's sprite dips down before attacking, and the hit is carried upwards)
- Rolling Kick (user now shakes before attacking)
- Thrash (user now shakes before attacking)
- Iron Head (changed sound effect)
- Poison Sting (added new graphic that looks like a needle being fired at the opponent)
- Twineedle (added new graphic that looks like a pair of stingers being fired at the opponent)
- Pin Missile (added new graphic that looks like a needle being fired at the opponent)
- Hydro Pump (the first half of the attack now looks more like a blast of water instead of two rising colums of water)
- Ice Beam (screen briefly brightens when used, added sound effects)
- Blizzard (added sound effects)
- Aurora Beam (screen briefly brightens when used)
- Submission (much more detailed animation that shows the user falling back to the ground after the attack)
- Draining Kiss (added Lovely Kiss' animation to the first half of the attack so it wasn't a clone of Absorb)
- Growth (increased duration by adding more subanimations)
- PoisonPowder (the palettes temporarily darken slightly when used)
- Stun Spore (the screen temporarily lights up slightly when used)
- Sleep Powder (the screen temporarily lights up slightly when used)
- Dragon Rage (increased duration by adding more subanimations)
- Rock Throw (changed sound effect slightly)
- Agility (user now shakes when used)
- Night Shade (the screen inverts colours temporarily when used)
- Recover (changed sound effect slightly)
- Focus Energy (reused its unused animation)
- Egg Bomb and Magnet Bomb (sound effect changed)
- Spike Cannon (added new graphic that looks like a needle being fired at the opponent)
- Amnesia and Nasty Plot (completely new animation that doesn't reuse the confused animation)
- Kinesis (completely new animation, looks more like a psychic move now)
- Hi Jump Kick (much more detailed, user's sprite jumps up before attacking, then lands afterwards)
- Dream Eater (changed sound effect, now has HP drain animation
- Sky Attack (changed sound effect and subanimation)
- Dazzling Gleam (the screen now turns wavy like Psychic after the initial flash)
- Hyper Fang (the screen flashes for a moment when the attack lands)
- Tri Attack (added the fire, ice and electric elements present in later animations, but note that the move still has no secondary effect)
- Fake Tears (completely new animation that involves the user literally shaking and crying)
Whoa, this one's been in the making for a while now. This one has been my attempt to fix as much as I could within a little over a month. Here's what I've got for you.
- Fixed a bug in Silph Gauntlet where the trainers would not see you unless you spoke to them
- Removed the unnecessary Gawarhed and Wugtrio static encounters. In what was once Gawarhed's place is a Rare Candy.
- Implemented a working ferry system (huge thanks to Red++) that allows travelling to Faraway Island and Citrine City with the right tickets. Currently both maps use a copy of the SS Anne, which may be revised later.
- Bittybat, Magnetite and Burgela have been removed to fix a Pokedex bug where entries wouldn't display correctly if the total number wasn't a multiple of 8.
- Fixed a bug where fishing up a Wiglett and Wugtrio would play the trainer battle and Champion battle themes respectively
- Restructured the Pokedex a little. Don't worry, Lickitung's still number 108!
- All references to betamon in the disassembly have had their names updated to match the new Ogasawara ones
- Removed Blastyke as a Game Corner prize, replacing it with Squeamata.
- Garnet Cavern is now properly listed as a dungeon map
- Fixed an issue where trying to leave Bill's House after entering the garden would put you back in the garden
- Moved Silph Gauntlet's Beauty down 1 floor to make the number of trainers on each floor more consistent
- Finished Gauntlet 6F except for the trainer text (PvK please help)
- Gavillain's stats updated to match KEP 1.4 on the Showdown server. It's now a Dragon/Electric type with less Ice coverage.
- Fixed Clefable's and Wigglytuff's starting movesets from an earlier commit
- Fixed an ABSOLUTELY HORRIBLE, EGREGIOUSLY FRUSTRATING BUG that caused the Pokedex's seen counter to rarely update. This is what caused this commit to be delayed for so long. No joke.
- New sprites, courtesy of Albatross, for Sylveon's back sprite, Alolan Marowak, Alolan Muk, Galarian Weezing and Magnezone!
- Fixed a bug preventing the trade for Haunter from being accessed.
This changes the animations for various vanilla moves with the aim of reducing photosensitive reactions. KEP is going to chiefly be played on emulators, and thus players will experience flashing that is meant to be dimmed by a Game Boy screen. This is dangerous, so here we are.
Many moves have been given black screens which 1) Look cool as fuck, Thunderbolt and Blizzard are really nice and 2) bypass flashing. Others have had their flashing reduced or outright removed.
Blizzard has been given special treatment, having the second part of its animation given an Ice Rise clip like Ice Beam. This, coupled with the darkness, looks ace.
Changed moves include:
Body Slam, Glare, Dazzling Gleam (oops), Disable, Blizzard, BubbleBeam, Confusion, Dream Eater, Explosion, Guillotine, Hyper Beam, Mega Kick, Mega Punch, Psychic, Reflect, Rock Slide, Selfdestruct, Spore, and Thunderbolt;
Short tests showed positive results. Revert if it fucks up anything.
PureRGB enhances Gen 1 AI in various ways, fixing notorious glitches and making it not do completely stupid things. I would use shin pokered's, but it may be too difficult for unfamiliar players, and has a bunch of outdated markers I'd have to spruce up.
Relevant changes:
- Burn effect calls have been replaced with Fire Blast's effect, replicating the burn spread use-case of Fire Blast
- Teleport references removed because pureRGB uses a unique version
- Any straggler references to effects not used in pureRGB
- Mist properly referred to as we only have one move that provides stat drop immunity.
Updated the sprite gallery too!!
- Most, if not all, Silph Co. warps have been fixed. Inappropriate ones have been removed.
- The Metal Coat can now be found where one corrupted Silph Co. warp was to fill dead space, and another is in the Power Plant, replacing Carbos.
- Bill now trades you Hisuian Arcanine after being saved.
- Bill's Grandfather now trades you Hisuian Electrode. Had to remove Crinkles, but Tangela is literally right next to Cinnabar, c'mon lol
- Toedscool can now be found behind Pallet Town, replacing Gloom and Weepinbell, making it more focused.
- Now you can't run from Omega! May expand this to more Pokemon depending on feedback and whether it's ok on processing. Main concern is making the run button too laggy - it raised some eyebrows.
* Moves the Mystery Box activation into Event Constants. This means that now, the Mystery Box activation is handled in the save, preventing some jank from happening when resetting.
* The "don't switch off the box yet" variable is now always unset after entering a map. Meltan itself allows the variable to keep being re-set, which is super handy. Now, whenever you enter and exit maps, it'll work properly.
* Flying, using an Escape Rope, and using Dig, all now unset the Mystery Box. If for some reason everything fucks up, this'll fix it.
* Fixed a text bug with the scientist in Celadon University.
* Fixed a menu alignment issue with the Vermilion Beauty.
* Attempted to fix the Battle Tent exit. Failed. This is a really, really bad bug, hopefully this gets sorted sometime.
This fixes an issue that caused regular Poke Balls to fail. Repositioned the Master Ball to fit with its processing.
This...may fix ViWalls's issue? For some reason, Poke Balls are glitching for him. This fixes *a* glitch, anyway.
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.
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.
- 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.
- 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)
- 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
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.
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.
This fixes a bug where Meltans would invade Trainer Battles under the effects of the Mystery Box.
I also did some minor groundwork where the Candy Jar check is a function. I intend to change it so that catching a Pokemon would incur it too. I ended up with glitches when doing that, though.
The "ball miss" message is now modular, with a new message being spat out when not in the Safari Zone. The message talks about it being "too strong" and "breaking the ball", making it far more intense and matching some early anime scenes.
The Candy Jar is now obtainable in the Indigo Plateau, instead of being an item obtained from Chief. I've removed most Chief-related stuff but expect some instability after you beat him, as I don't believe I completely removed the function to call the text.
The Candy Jar will now not collect candies in the following instances;
- It isn't in the bag.
- The total would go over 40.
Just makes sense and ensures players are engaging with the proper intentions. The 40 total is necessary, as over 40 stops the jar from working. This does mean some candies are "lost", but the players see that.
There's a bug where Meltan will have the moves of the Pokemon it's replacing and I don't know why. I've tried a bunch of fixes in `LoadEnemyMonData` but it didn't seem to want to work.
- 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...
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.
- 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
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.
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.
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.
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 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.
turns out the last time we tried removing disobedience, pokemon wouldn't attack. also reworked the texts to remove references to it, as well as some SS Anne stuff