Tutorials may use diff syntax to show edits: ```diff this is some code -delete red - lines +add green + lines ``` - Difficulty - **_Basic_**: These tutorials are simple changes that those with basic programming knowledge should be able to do. - **_Intermediate_**: These tutorials require more work and programming knowledge. - **_Advanced_**: These tutorials overhaul systems, and may require advanced knowledge. ## Index - **[Fixes to vanilla code](#fixes-to-vanilla)** - **[Editing content](#editing-content)** - **[Removing features](#removing-features)** - **[Features from other generations](#features-from-other-generations)** - **[Adding new content](#adding-new-content)** - **[Miscellaneous](#miscellaneous)** - **[Notable branches](#notable-branches)** - **[External links](#external-links)** ## Fixes to vanilla code - **[Surf Dismount Ground Effects](Surfing-Dismount-Ground-Effects)** - **[Fix Snow Weather](Fix-Snow-Weather)** - **[Seeding the RNG properly on startup](https://www.pokecommunity.com/showpost.php?p=10211666&postcount=155)** - **[Keep the Camera from Making Waves](Keep-the-Camera-from-Making-Waves)** - **[Implement Missing Text Function `RESET_SIZE`](Implement-Missing-Text-Function-RESET_SIZE)** - **[Not showing dex entries until getting the Pokédex](Not-showing-dex-entries-until-getting-the-Pokédex)** - **[Improving the WaitForVBlank function](Improving-the-WaitForVBlank-function)** ## Editing content ### Basic - **[Change Starter Pokémon](Change-Starter-Pokémon)** - **[Change initial PC items](Change-initial-PC-items)** - **[Change Time-Based Evolution Times](Change-Time-Based-Evolution-Times)** - **[Trainer Backsprite Editing](Trainer-Backsprite-Editing)** - **[Faster HP Drain](https://github.com/pret/pokeemerald/wiki/Faster-HP-Drain)** - **[FRLG/DP+ White Out Money Calculation](Better-White-Out-Money-Calculation)** - **[How to Create a New Regular Trainer Battle](https://github.com/pret/pokeemerald/wiki/How-to-create-a-new-regular-trainer-battle)** ### Intermediate - **[Editing Battle Backgrounds](https://www.pokecommunity.com/showthread.php?t=419571)** ## Removing content ### Basic - **[Remove badge boosts](Remove-badge-boosts)** - **[Disabling Union Room check when entering Pokémon Centers](Disabling-Union-Room-check-when-entering-Pokémon-Centers.)** - **[Remove the functionally redundant move grammar tables](https://github.com/pret/pokeemerald/wiki/Remove-the-functionally-redundant-move-grammar-tables)** ## Features from other generations ### Basic - **[Allow running indoors](Allow-running-indoors)** - **[Increase money limit](Increase-money-limit)** - **[Infinite TM usage](Infinite-TM-usage)** - **[Trainer Class-Based Poké Balls](Trainer-Class-Based-Poké-Balls)** - **[Learn moves upon evolution](Learn-moves-upon-evolution)** - **[Prompt for reusing Repels](Prompt-for-reusing-Repels)** - **[Pokecenters disregard eggs](Pokecenters-Disregard-Eggs)** - **[LGPE-Style Bonus Premier Balls](LGPE-Style-Bonus-Premier-Balls)** - **[Repeated Medicine Use](Repeated-Field-Medicine-Use)** - **[Chain Fishing](Chain-Fishing)** - **[Update Sitrus Berry's effect to Gen 4 standard](Update-Sitrus-Berry's-effect-to-Gen-4-standard)** - **[Shop Items by Badge Count](Shop-Items-By-Badge-Count)** - **[Shuckle makes Berry Juice](Shuckle-makes-Berry-Juice)** ### Intermediate - **[Colored stats by nature in summary screen](Colored-stats-by-nature-in-summary-screen)** - **[Add Physical Special Split](add-physical-special-split)** ## Adding new content ### Basic - **[Proper Plural "giveitem" Command](Plural-Giveitem)** - **[Spawn an invisible Player](Spawn-Invisible-Player)** ### Intermediate - **[How to add a new ability](How-to-add-a-new-ability)** - **[Adding new overworlds](Adding-new-overworlds)** - **[How to add a new Pokémon species](How-to-add-a-new-Pokémon-species)** - **[Add a debug menu](Add-a-debug-menu)** - **[Custom Battle Transition Mugshots](Custom-Battle-Mugshots)** - **[Custom Border Dimensions](Custom-Border-Dimensions)** ## Miscellaneous ### Basic - **[Toggling Trainers "Seeing" You](Toggle-Trainer-Sight)** - **[Disable Bag use In Battle](Disable-Bag-Use-In-Battle)** - **[Disable Catching Pokemon](Disable-Catching-Pokemon)** - **[Dynamic Trade Names](Dynamic-Trade-Names)** - **[Enable trade with FRLG without beating the game](Enable-trade-with-FRLG-without-beating-the-game)** - **[Extra save space with two lines of code](Extra-save-space-with-two-lines-of-code)** - **[Enable the Reset RTC Feature](Enable-the-Reset-RTC-Feature)** - **[Omnidirectional Jump Behavior](Omnidirectional-Jump)** - **[Uniquely Shuffle Arrays](Uniquely-Shuffle-Array)** ### Intermediate - **[printf in mGBA](printf-in-mGBA)** - **[Implementing the “textcolor” script command from FRLG and give object events their own text colour](https://github.com/pret/pokeemerald/wiki/Implementing-the-“textcolor”-script-command-from-FRLG-and-give-object-events-their-own-text-colour)** - **[Implementing ipatix's High Quality Audio Mixer](Implementing-ipatix's-High-Quality-Audio-Mixer)** ### Advanced - **[Triple-layer metatiles](Triple-layer-metatiles)** - **[Dynamic overworld palette system](Dynamic-overworld-palette-system)** - **[Run Custom Scripts on Trainer Sight](Trainer-Scripts)** - **[Stair Warps](Stair-Warps)** - **[Using Affine Animations](https://www.pokecommunity.com/showthread.php?t=419851)** ## Notable Branches The following branches maintained by contributors can be a good starting point for your hack, or can be merged into an existing codebase. - **[Battle Engine Upgrade](https://github.com/rh-hideout/pokeemerald-expansion/tree/battle_engine)** - **[Pokemon Expansion](https://github.com/rh-hideout/pokeemerald-expansion/tree/pokemon_expansion)** - **[Item Expansion](https://github.com/rh-hideout/pokeemerald-expansion/tree/item_expansion)** - **[Follow Me](https://github.com/ghoulslash/pokeemerald/tree/follow-me)** - **[Sideways Stairs](https://github.com/ghoulslash/pokeemerald/tree/sideways_stairs)** - **[More Bag Pockets](https://github.com/AsparagusEduardo/pokeemerald/tree/BetterBag)** - **[Overworld Expansion](https://github.com/ghoulslash/pokeemerald/tree/overworld-expansion)** - **[Saveblock "Expansion"](https://github.com/ghoulslash/pokeemerald/tree/free_saveblock)** - **[Simplified DexNav](https://github.com/ghoulslash/pokeemerald/tree/dexnav)** - **[Dynamic Overworld Palettes](https://github.com/ExpoSeed/pokeemerald/tree/dynamic-ow-pals)** ## External links - **[New Battle Transitions](https://www.pokecommunity.com/showpost.php?p=10085164&postcount=1)** ## To do - transfer the rest of the simple modifications from the [Pokecommunity thread](https://www.pokecommunity.com/showthread.php?p=9986048)