This is a fork of the decompilation of Pokémon Emerald.
Made as a 2022 Christmas gift for a friend, where the character sprites are made to look like him.
To set up the repository, see INSTALL.md.
Link to Patch File is Here.
To build it, use LunarIPS and your legally obtained copy of Pokémon Emerald (those devs who made the game 20 years ago gotta eat too).
- Added Day-Night System [Credit: aarant]
- Added Rumble Feature [Credit: Evan Bowman and Citrus Bolt]
- [Added DexNav(https://github.com/ghoulslash/pokeemerald/tree/dexnav) [Credit: Ghouslash]]
- Made DexNav live in PokéNav [Credit: Paccy]
- New Random Number Generator Implimentation. [Credit: Kurausukun]
- Added Catch EXP. [Credit: cobb]
- Added Wonder Trading [Credit: Lunos and Deokishisu]
- Wonder Trading can happen once for each badge received in the back-left machines Mauville Game Corner. The left machine only gives Pokémon with their first type being a physical. The right machine gives special-typed.
- Added ability to randomize wild encounters with the Nuzlocke settings
- Razor Wind buffs Attack if using original damage catagories rather than always buffing Special Attack.
- Leech Life is buffed to its Gen VII stats.
- Using Infinite Rare Candy on field as registered item now fades into party menu.
- Wild Pokémon can no longer be caught in the Nuzlocke Challenge before receiving the Pokédex.
- Lowered Deoxys level in Steven and Wallace battle to lower Nuzlocke overlevel cap.
- Weavile uses Ice Punch instead of Ice Beam in Elite Four.
- Changed the garage's Secret Base to a less common on on the overworld.
- Garage base automatically opens at the start of a new game.
- Solid board automatically goes over the hole in the garage base. -Removed Secret Power from PC.
- The items in the PC at the beginning of the game will change based on if the Nuzlocke Challenge is run.
- Type Effectiveness option now shows a plus sign if a move is STAB and arrows if a move is effective or not.
- Cleaned up Infinite Rare Candy palette. [Credit: Viperio]
- If a follower can learn fly, then it would fly you if you talk with it.
- Bugfix where scripted encounters did not count toward the Nuzlocke.
- Using Pokémon Center restores all Pokémon in the PC.
- Infinite Rare Candy when running the No Overleveling Nuzlocke no longer is accessable through Jaime. instead, it can be found in the Marts from the lady next to the cashier.
- Pokémon that are at their level cap and level 100 Pokémon can still gain EVs from battles.
- Back shelf in Mart now looks more cohesive.
- Bugfix on evolving with Inf. Rare Candy on field crashing the game.
- Bugfix where Battle Items pocket in bag never opens.
- Bugfix with Golden and Rusted Bottle Caps crashing original hardware.
- Fly Will Only Be Displayed by Pokémon Who Cannot Learn it If Flying Is Currently Allowed.
- Bugfix where Dad giving SS Ticket causes him to not move.
- Now Able to Access PC from PokéNav in caves, houses, and gyms after receiving Balance Badge.
- Move Status is now displayed in summary screen, TM bag pocket, and TM Case.
- Added TM Case that Displays Which Pokémon Can Learn the Move.
- Added Ability to Display Mugshots [Credit: Anon822]
- Prof. Birch's lab now has a book that shows the Type Chart and one that shows the Nature Chart.
- Nature Chart is shown when choosing mints from Jaime.
- PokéVial and Nurse Joy will only cause a heal to occur if party is not already healed.
- Mints include the stats they change in their descriptions.
- Lady at Lavaridge now gives a random rare baby Pokémon as an egg rather than Wynaut every time.
- BoxMon struct modified to allow for Pokémon Box Ruby & Sapphire compatibility.
- This change will cause previously dead Pokémon in a Nuzlocke run to no longer be dead.
- Mints include the stats they change in their descriptions.
- Added Roserade, Ambipom, Mismagius, Honchkrow, Froslass, Ursaluna, and Annihilape.
- Added Energy Ball and Acrobatics as moves.
- PokéVial can now be used in gyms and Trick House.
- PokéVial's usages gets cut to three when playing a Nuzlocke run.
- Toggling running shoes by pressing B can now be turned off.
- Removed Lucky Egg from player's PC.
- Made Everstone Able to De-evolve Any Non-Basic Pokémon.
- Dead Pokémon no longer count towards repelling, lottery, nor field moves.
- Ditto evolves into Mew with Upgrade. Mew evolves into Mewtwo with Upgrade.
- Added items into the PC after becoming champion, including an Inifinite Rare Candy.
- Safari Zone Pokémon will run away 20% less often.
- Fixed save compatibility on using Nature Mints with older save files.
- If a Pokémon can learn a field move, then it'll be shown as the one performing it rather than the plater.
- Flash only displays in party menu for Pokémon that don't know it when in the Registeel cave puzzle.
- Bugfix on not showing negative priority moves in move description submenu.
- Bugfix on giving Exp. when Exp. multiplier is set to zero and the Exp. Share is on.
- Added Bottle Caps and Nature Mints (Credit: Ghoulslash)
- They can be bought for cheap from Jaime after becoming the champion.
- Jaime also gifts one Nature Mint after the player wins a badge.
- Add Ability to Swap Bikes Whenever
- Ball Does Not Get Thrown When Cycling Unless The Ball Was Not Cycled That Turn.
- Swapped Turbo and VSync Mapping of Shoulder Buttons in VSync Button Mode.
- Added Ability to Sort Key Items by Type.
- Added Ability to Move Held Items. [Credit: Zeturic]
- Added Mid-Battle Evolutions [Credit: CtrlFootPrint]
- Increased Money Limit [Credit: DizzyEgg]
- Now Able to Rematch Gym Leaders by Holding B When Talking After Becoming Champion.
- Rematching when Holding B Causes Trainer to Use the Party they Would if it Were a PokéNav Rematch.
- More clean-up on bike sprites.
- Buffed Razor Wind.
- Bug Fix Where Bag Menu Does Not Have A Dot for Each Pouch.
- Bug fix on Indicators Displaying on Enemy Party's Pokémon After Catching.
- Added Sleep Mode
- Hold L Trigger + R Trigger + SELECT to enter sleep mode. Press SELECT + START to leave sleep mode.
- Thief Ball does not show on already caught Pokémon when SUGGEST BALL mode is ADV.
- Added Option for Turning Off Waiting for VBlank in Options Menu.
- Expect The Game to Run Faster, But be More Buggy in this Mode.
- Made Pikachu Fat Using Gen 2 Sprites
- Credit to Bellossom for the Front Sprite.
- Allow Rematch With Trainers When Holding B When Talking to Them
- Showing IVs/EVs in Summary Screen [Credit: PokemonCrazy]
- Changed Will-O-Wisp and Chill-O-Wisp's Accuracy from 75% to 85%.
- Thief Ball now shows if caught Pokémon is added to the Dex and what box it gets transferred to.
- Bug fix on no name showing up when player uses strength and no one in the party knows it.
- Bug fix on Cleanse Tag and Poké Doll never showing Deselect option.
- Bug fix on opening better bag pocket from overworld.
- Bug fix on holding select also causing the tap to select option to be used.
- Bug fix on saving menu options when swapping through pages.
- Added Eon Flute [Credit: camthesaxman and paccy for the Emerald Port]
- Go-Goggles can be Used to and a Sandstorm in Battles
- Added Ability to See Zigzagoon on Cable Car [Credit: Goppier]
- Added Party Members Icons in the Main Menu for Existing Save Files. [Credit: Sangetsuki and Lunos]
- All Battle Frontier Pokémon are fully-evolved.
- Player's icon shown and them raising their Poké Ball not shown when performing a field move that the party does not known.
- Sped up slow and medium text speed.
- Arrows show that cycling balls can be done.
- Thief Ball option only shows if the Pokémon's catch rate is low enough (proxy for its rarity) when SUGGEST BALL mode is ADV.
- Register icon for Cleanse Tag and Poké Doll aligned.
- Repels can now be registered items.
- Added Frostbite [Credit: Bassoonian]
- Option for using Frostbite as an ailment over Frozen is possible in the Special PC Menu.
- Added Chill-O-Wisp (Which behaves like Will-O-Wisp, but causes Frostbite).
- Misdreavus, the Spheal line, and the Snorunt can learn this via level-up.
- Drowsee, Sneasel, and Swinub can learn this as an egg move.
- Made Tri Attach's Type Effectiveness Change Based on the Defender's Strength Against Fire, Electric, and Ice Types.
- Hidden Thief Ball Added in Rival's House When Selecting Their Ball After First Talking to Thyem at Their House.
- Added a Mean Zigzagoon in Petalberg Woods.
- Bug fix where player is not properly shown when using Surf or Dive.
- Added last used ball in battle menu. [Credit: Ghoulslash]
- This defaults to a Thief ball if in a trainer battle.
- Gives suggested ball on the first turn (and the Timer Ball after enough turns)
- Added Second Page to Options Menu.
- Includes: Show Follower, Show Ball Suggestion, Ball Suggestion Preferences, Difficulty.
- Holding Select Allows For A Second Register Item
- Entering the Konami Code at the Main Menu Screen Allows for the Debug Menu in the Start Menu.
- Truck That Player Comes To Hometown In Is Now A UHaul.
- Added 'Add All HMs' To Debug Menu.
- Wally opens correct pocket for Poké Ball.
- A trainer you've already battled can no longer reset FLAG_RAN_FROM_TRAINER.
- Cleanse Tag and Poké Doll can be registered in place of being tossed.
- Cannot run from Double Battles.
- Added a Mew under the truck in Lilycove, where Strength is needed to move the truck.
- After it's moved, there is a Thief Ball in the back of the Truck.
- Bug fix to allow stolen Pokémon to count towards Pokédex.
- Secret Bases Able to Have 36 Decorations (Was 16), But Only a Max Base count of 16 (Was 20).
- This breaks compatability with sharing Secret Bases with the vanilla game.
- Make Multiple Secret Bases
- When putting a Pokémon into a new ball, the old ball gets put back into the bag if it's not a Thief Ball nor Master Ball.
- Allow Move Relearner to Teach Moves that Pre Evolutions Know
- Animated Missingno follower sprite.
- Pressing Start in a Battle Will Show the Description of the Move.
- Allow Running From Trainer Battles
- This will not work when running the Nuzlocke Challenge.
- Key Items With No Field Effect Will No Longer Be Register-able Nor Usable
- Added BetterBag. This makes the bag be able to hold 78 more items. [Credit: AsparagusEduardo]
- This will keep compatability with an vanilla Emerald save file, but going back to the vanilla game saving in this game will cause battle items, treasures, and medicine to disappear.
- Made Poké Doll a toggle-able item, like Cleanse Tag.
- Bug fix on an endless loop if an Eeveelution is bred.
- Holding R when starting a wild encounter will not allow running if escaping isn't possible.
- Text Scroll is Mildly Faster.
- Gen 4 Pokémon are Added as Followers.
- Berry Pick-up Text On New Berry Now Works.
- Loading the game now ages the berries by 12 hours and iterates daily events by a day.
- Berries that are fully-grown do not continue the cycle if the RTC is dead.
- Overlevel check turns off if Nuzlocke setting is off.
- Readded Nurse Joy chime when healing.
- No longer shows Nuzlocke cap if player is champion.
- Got rid of item description window on first berry picked due to it being buggy.
- Nurse Joy now tells you what the level cap for Nuzlocke is.
- Resetting wallclock ages the berry growth by 24 hours and iterates daily events by a day.
- PokéVial renamed to POKéVIAL.
- Fury Cutter based power changed to 40.
- Able to buy Thief Ball in Petalburg Mart after 6 badges.
- Biking indoors is now allowed.
- Fire-type cannot be frozen.
- Player PC now has 10 Thief Balls in it rather than 5.
- Some rocks can permanently be smashed.
- Added PokéVial
- Fish Will Now Always Get on Hook
- Field Move Logic Cleaned Up and Flash Now Automatically Runs When Entering a Cave
- Item Descriptions On First Obtain[Credit: Ghoulslash]
- Plural giveitem[Credit: Ghoulslash]
- Amulet Coin Effects If Anyone In Party is Holding It
- Thief Ball now works on Elite Four as well.
- Starter evolutions can now learn the Giga Drain, Flame Thrower, Hydro Pump moves the basics can learn.
- Name Rater now allows traded Pokémon to be renamed.
- Add Move Relearning Into Party Menu [Credit: DiegoIsAwesome]
- Swap party screen slots using Select
- Fixing the aspect ratio of the Pokémon logo on the title screen [Credit: meejle]
- Pokémon can now follow you. [Credit: aarant]
- Gen 4 Pokémon are ignored as followers.
- Added Bag Sorting [Credit: Ghoulslash]
- Make Poké Balls usable outside of battles [Credit: Lunos]
- Cleanse Tag can now be a use item as well as being held.
- Doubled shiny odds.
- Buying more than 10 Poké Balls gives an extra.
- Indicator shown in Nuzlocke Challenge if Pokémon can be caught.
- Mareep is female 75% of the time.
- Added Weavile, Magnezone, Lickilicky, Rhyperior, Tangrowth, Electivire, Magmortar, Togekiss, Yanmega, Gliscor, Mamoswine, Porygon Z, Gallade, Probopass, and Dusknoir
- Added Difficulty Mode
- Infinite TM usage [Credit: ExpoSeed]
- Item Automatically Goes to PC if Bag is Full
- Fix AI's Switch In Battle (it will remain the same on easy difficulty)
- Added ability to change how much EXP you'll get in battle.
- Added Nuzlocke options.
- Gen. 6 style Exp. Share
- All Trees Permanently Get Cut
- Bug fix on Blaziken learning Death Move.
- Norman's Slaking no longer knows counter.
- Bug fix on no effect move being orange when move has low PP in showing type effectiveness.
- Added in dynamicmultilist to allow for color changing on PC used to set Nuzlocke and extra settings.
- Added Carcinisation mode (Everything can now evolve into Krabby, Krabby in the wild, all NPCs have Krabby).
- EXP multiplier can now be changed as a setting.
- Holding R when it's turbo B no longer toggles running shoes.
- Low health beeping can be toggled off.
- Made getting Aurora Map receivable in Space Station.
- Turbo B will now always work except in the Slot Machine, Wall Clock, and Chat Rooms.
- Made wallclock default to 'Yes' when asking if the setting is correct.
- Made Lucky Egg triple EXP and a default PC item.
- Holding B makes surfing and diving faster.
- Added Eevee to Hoenn Pokédex
- Push B in wild battle moves to Run
- Diving and reflection palette fix.
- Diving speed underwater same as running speed.
- Changed Stop Learning request to Continue Learning.
- Made Eevee and its evolutions all have a 50% gender ratio.
- Added Leafeon, Glaceon, and Sylveon.
- All Eeveelutions can evolve into each other. They can evolve to Sylveon with Start Piece, back to Eevee with Everstone, and Glaceon with Never Melt Ice.
- Bug fix where overworld music cuts when the berry fanfare still plays when the player goes into their bag to plant a new berry.
- Bug fix where surfing in Slateport Harbor is no longer possible.
- Readded healing fanfare at Pokémon Center but cause overworld music to play over it once the Nurse Joy Message is closed.
- Show Species That You're Battling in the Party Menu
- Trainers No Longer Spin to Face You Right As You Pass Them
- Shifting to Pokémon Already in Battle Exits the Shift Menu
- Get Rid of Pokemon Disobeying You
- Pushing B When Asked To Stop Learning Move Will Cancel Teaching The Move
- Option to Skip Copyright and Intro. Able to toggle it on one of Prof. Birch's PCs.
- Button Press to Skip Copyright Screen
- Allow Both Latios and Latias Appear
- Jump Kick and High Jump Kick now has the effects of newer generations.
- Put more interesting Pokémon into the Safari Zone.
- Added Surkit, Masquerain, Meditite, Roselia, Zangoose, and Lunatone.
- Added ability to buy evolutionary stones and TMs from Mauville Game Corner in Lilycove Department Store.
- Ability to restart Nuzlocke Challenge after failing by talking to Hiker in House in Rustboro City.
- Nuzlocke now counts in Safari Zone as well.
- Electrike and Manectric can now learn Flamethrower.
- Psyduck and Golduck can learn Fly.
- Zangoose can learn Cut.
- Made Raquaza's eye's pink-ish at the title screen.
- Sped up delay for messages about Intimidate and being buffered by weather conditions.
- Some overworld player sprite clean-up.
- Grindrunning For Easier Diagonal Movement. Able to toggle it on one of Prof. Birch's PCs. [Credit: Pyredrid]
- Fixed bug that causes duplicates of caught Pokémon if they were nicknamed after being caught.
- Removed delay from leaving Pokémon Center by removing healing fanfare.
- Made Missingno smaller to match its height.
- Made dead Pokémon checking for the Nuzlocke Challenge no longer occur during field poisoning and instead check and remove if needed when using a healing item.
- Added Nuzlocke Challenge setting.
- Pressing B as the ball shakes raises catching odds.
- Final Elite Four battle is now a double battle with Steven and Wallace.
- Missingno. is now encounterable in the game after speaking to Wally's father and surfing in Pacifidlog Town.
- The Old Sea Map to get Mew is receivable under an old truck in the Lilycove harbor if the Nuzlocke Challenge is on.
- Jumping over ledges when bunny-hopping on the Acro Bike is now possible.
- Can now quickly run from a battle by holding Right while the wild Pokémon's name appears.
- Make Pokémon that Require a Fateful Encounter to be Legal to Always Be Set to Legal
- R is now Turbo B most of the time in the overworld and battles.
- Shedinja has a max HP of 50.
- Ponyta and Rapidash are now much faster.
- Pokémon have a 543,000 in 61,543,000 chance of getting infatuated by a Pokémon of the same gender.
- Bug fix on Show Battle Effectiveness in double battle.
- Death Move knocking out an opponent that can be permanently stolen will also remove them from the game.
- Added ability to avoid damage in the debug menu.
- Surviving poison outside of battle with 1HP [Credit: Lunos]
- Added Thief Ball
- Added PC Access in PokéNav
- Allowed All Pokémon to Evolve Without Trading
- Using HMs Without Any Pokémon in your Party Knowing Them Possible
- Changed Someone's PC to Lanette's PC from the Start of the Game
- Made Daycare Faster at Leveling Pokémon
- Allowed Feebas to be caught on any Valid Fishing Spot in Route 119 if the Last Shot on the Basketball Hoop Went In
- Added a Clock in Every PokéMart.
- Norman's Slaking Has Ability Intimidate and can learn Death Move at level 100.
- Charizard is fire/dragon, Meowth is normal/dark, Gyarados can learn fly
- Added Zen Headbutt, Moonblast, Play Rough, Draining Kiss, Fairy Wind, and Death Move.
- Added Physical/Special Move Split [Credit: Kurausukun]
- Physical Special Split Icons In Battle [Credit: Anon822]
- Use Fly and Flash for Any Compatible Pokémon [Credit: ScyrousFX]
- Added Fairy-Type [Credit: Lunos]
- Not showing dex entries until getting the Pokédex [Credit: AsparagusEduardo]
- Enable trade with FRLG Without Beating the Game [Credit: AsparagusEduardo]
- Allow player to Change Direction Better While Moving [Credit: cbt]
- Made Move Pokémon as first PSS option [Credit: AsparagusEduardo]
- Faster Berry Interactions [Credit: dunsparce9]
- Changed Birch's Intro Pokémon to Blaziken [Credit: Avara]
- Allowed Nicknaming in the Pokémon Party Screen [Credit: Lunos]
- Added graphics for Nick's front, back, intro scene, and overworld sprites
- Changed character's house to match Nick's
- Added secret base as garage (Secret Power TM is in PC and 2 straight boards are added as decorations when a new game is made)
- Added a basketball hoop
- Changed hometown name
- Added message on copyright screen
- Made 'Nick' be the default name to use if no name is set for a new character
- Add Jaime...kind of
- Holding L is now turbo A
- No battery run dry message appears
- Party now gets healed after winning a gym badge (and when receiving your Pokédex completion diploma at the Lilycove Motel)
- Turned off getting match calls from trainers who are not looking to battle.
- Intro now shows the biking trainer as the gender of the save file (defaults to male)
- Made Cleanse Tag turn the off all wild encounters and made it's held ability work if held by any Pokémon in the party
- Made Poké Doll cause no trainers to see you. You can still go up and talk with them.
- Added Beldom in Meteor Falls and Mareep in Route 110
- Added type color that shows battle effectiveness and added ability to toggle this feature in the option menu.
- Used this, but the vanilla code needed modification for it to work well.
- Toggle running
- Created before finding this, but it had the same idea
- Made running indoors possible
- Created before finding this, but it's the same idea
- Faster Pokémon Center healing
- Created before finding this, but same idea
- Pushing R when looking at the clock allows for the time to be changed [Credit: paccy]
- Tilemap for clock now includes mention of R to reset
- Removing Badge Checks for HMs [Credit: wally-217]
- White Out money calculation to match future gens and displays money lost amount [Credit: Lunos]
- Remove the extra save confirmation [Credit: FieryMewtwo]
- Increase Text Speed Beyond Fast [Credit: ellabrella]
- Return and Frustration show power in summary screen [Credit: Lunos]
- Set L=A and fast scroll text as the default [Credit: Avara]
- Prompt for reusing Repels [Credit: ExpoSeed]
- Simplistic Battle Intro [Credit: SBird]
- Added debug menu [Credit: TheXaman]
- Turned off by default.
- Faster HP Drain [Credit: SonikkuA-DatH]
- Wrong Save File Error Message [Credit: Anon822]
- Surfing Dismount Ground Effects [Credit: ghoulslash]
- Improving the WaitForVBlank function[Credit: DizzyEggg]
- Lower case after first input in the naming screen[Credit: Jaizu]
- Let a Pokémon forget any move they know [Credit: Lunos]
- Default Options are now fast text speed and L=A by default
- Made before finding this, but same idea
- Removed small bugs with #define BUGFIX in config.h