diff --git a/.all-contributorsrc b/.all-contributorsrc
new file mode 100644
index 0000000000..e5ecce9602
--- /dev/null
+++ b/.all-contributorsrc
@@ -0,0 +1,264 @@
+{
+ "projectName": "pokeemerald-expansion",
+ "projectOwner": "rh-hideout",
+ "repoType": "github",
+ "repoHost": "https://github.com",
+ "files": [
+ "CREDITS.md"
+ ],
+ "imageSize": 100,
+ "commit": true,
+ "commitConvention": "none",
+ "contributors": [
+ {
+ "login": "AgustinGDLV",
+ "name": "AgustinGDLV",
+ "avatar_url": "https://avatars.githubusercontent.com/u/103095241?v=4",
+ "profile": "https://github.com/AgustinGDLV",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "AlexOn1ine",
+ "name": "Alex",
+ "avatar_url": "https://avatars.githubusercontent.com/u/93446519?v=4",
+ "profile": "https://github.com/AlexOn1ine",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "Bassoonian",
+ "name": "Bassoonian",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16993385?v=4",
+ "profile": "https://github.com/Bassoonian",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "DizzyEggg",
+ "name": "DizzyEggg",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16259973?v=4",
+ "profile": "https://github.com/DizzyEggg",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "ghoulslash",
+ "name": "ghoulslash",
+ "avatar_url": "https://avatars.githubusercontent.com/u/41651341?v=4",
+ "profile": "https://github.com/ghoulslash",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "hedara90",
+ "name": "hedara90",
+ "avatar_url": "https://avatars.githubusercontent.com/u/149414898?v=4",
+ "profile": "https://github.com/hedara90",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "mrgriffin",
+ "name": "Martin Griffin",
+ "avatar_url": "https://avatars.githubusercontent.com/u/838573?v=4",
+ "profile": "http://www.martin-griffin.com/",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "Pawkkie",
+ "name": "Pawkkie",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61265402?v=4",
+ "profile": "https://github.com/Pawkkie",
+ "contributions": [
+ "maintenance",
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "SBird1337",
+ "name": "Philipp AUER",
+ "avatar_url": "https://avatars.githubusercontent.com/u/3799173?v=4",
+ "profile": "https://github.com/SBird1337",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "tertu-m",
+ "name": "tertu",
+ "avatar_url": "https://avatars.githubusercontent.com/u/836640?v=4",
+ "profile": "https://github.com/tertu-m",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "pkmnsnfrn",
+ "name": "psf",
+ "avatar_url": "https://avatars.githubusercontent.com/u/77138753?v=4",
+ "profile": "https://linktr.ee/pkmnsnfrn",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "wiz1989",
+ "name": "wiz1989",
+ "avatar_url": "https://avatars.githubusercontent.com/u/80073265?v=4",
+ "profile": "https://github.com/wiz1989",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "PCG06",
+ "name": "PCG",
+ "avatar_url": "https://avatars.githubusercontent.com/u/75729017?v=4",
+ "profile": "https://github.com/PCG06",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "kittenchilly",
+ "name": "kittenchilly",
+ "avatar_url": "https://avatars.githubusercontent.com/u/23617175?v=4",
+ "profile": "https://github.com/kittenchilly",
+ "contributions": [
+ "code",
+ "research",
+ "data"
+ ]
+ },
+ {
+ "login": "ExpoSeed",
+ "name": "ExpoSeed",
+ "avatar_url": "https://avatars.githubusercontent.com/u/43502820?v=4",
+ "profile": "https://github.com/ExpoSeed",
+ "contributions": [
+ "code",
+ "maintenance",
+ "review"
+ ]
+ },
+ {
+ "login": "LinathanZel",
+ "name": "Linathan",
+ "avatar_url": "https://avatars.githubusercontent.com/u/35115312?v=4",
+ "profile": "https://github.com/LinathanZel",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "AsparagusEduardo",
+ "name": "Eduardo Quezada",
+ "avatar_url": "https://avatars.githubusercontent.com/u/2904965?v=4",
+ "profile": "https://github.com/AsparagusEduardo",
+ "contributions": [
+ "code",
+ "data",
+ "doc",
+ "infra",
+ "maintenance",
+ "projectManagement",
+ "promotion",
+ "research",
+ "review",
+ "test",
+ "tutorial",
+ "userTesting"
+ ]
+ },
+ {
+ "login": "khbsd",
+ "name": "khbsd",
+ "avatar_url": "https://avatars.githubusercontent.com/u/26092020?v=4",
+ "profile": "https://github.com/khbsd",
+ "contributions": [
+ "doc",
+ "code"
+ ]
+ },
+ {
+ "login": "Cafeei",
+ "name": "Cafe",
+ "avatar_url": "https://avatars.githubusercontent.com/u/46283144?v=4",
+ "profile": "https://github.com/Cafeei",
+ "contributions": [
+ "design"
+ ]
+ },
+ {
+ "login": "agsmgmaster64",
+ "name": "agsmgmaster64",
+ "avatar_url": "https://avatars.githubusercontent.com/u/67435611?v=4",
+ "profile": "https://github.com/agsmgmaster64",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "RubyRaven6",
+ "name": "Ruby",
+ "avatar_url": "https://avatars.githubusercontent.com/u/178652077?v=4",
+ "profile": "https://github.com/RubyRaven6",
+ "contributions": [
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "mudskipper13",
+ "name": "mudskipper13",
+ "avatar_url": "https://avatars.githubusercontent.com/u/105766191?v=4",
+ "profile": "https://github.com/mudskipper13",
+ "contributions": [
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "surskitty",
+ "name": "surskitty",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1383512?v=4",
+ "profile": "https://github.com/surskitty",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "grintoul1",
+ "name": "grintoul",
+ "avatar_url": "https://avatars.githubusercontent.com/u/166724814?v=4",
+ "profile": "https://github.com/grintoul1",
+ "contributions": [
+ "code"
+ ]
+ }
+ ],
+ "contributorsPerLine": 7,
+ "linkToUsage": true,
+ "commitType": "docs",
+ "skipCi": true
+}
diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml
index d1bbbb4e94..20b5390be5 100644
--- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml
+++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml
@@ -6,7 +6,7 @@ body:
attributes:
value: |
Please fill in all fields with as many details as possible.
- - type: textarea
+ Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs!
id: description
attributes:
label: Description
diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
index 71d10d7e4d..8c63b15202 100644
--- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
+++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
@@ -6,6 +6,7 @@ body:
attributes:
value: |
Please fill in all fields with as many details as possible.
+ Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs!
- type: textarea
id: description
attributes:
diff --git a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml
index 9b7b46c9e1..347e782660 100644
--- a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml
+++ b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml
@@ -6,6 +6,8 @@ body:
attributes:
value: |
Please fill in all fields with as many details as possible.
+ Once your feature request is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even requesting issues!
+
- type: textarea
id: behavior
attributes:
diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml
index 61f71ba3db..35081e40d3 100644
--- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml
+++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml
@@ -6,6 +6,7 @@ body:
attributes:
value: |
Please fill in all fields with as many details as possible.
+ Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even creating issues!
- type: textarea
id: description
attributes:
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 0b214dce0a..dc900e224e 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -21,11 +21,11 @@
## Issue(s) that this PR fixes
-## People who collaborated with me in this PR
-
-
-
-
+
+
+
+
+
## Feature(s) this PR does NOT handle:
@@ -36,6 +36,6 @@
## Discord contact info
-
-
+
+
diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml
index aa53665e8f..85800211ef 100644
--- a/.github/workflows/labels.yml
+++ b/.github/workflows/labels.yml
@@ -26,3 +26,4 @@ jobs:
category: overworld
category: pokemon
category: sprite-issue
+ type: documentation
diff --git a/CREDITS.md b/CREDITS.md
index 70203c4f93..6045f2301a 100644
--- a/CREDITS.md
+++ b/CREDITS.md
@@ -1,4 +1,98 @@
-## Mega Evolution Overworld Sprite Credits:
+
+
+
+
+
+
+
+
+
+
+## Credits ✨
+
+Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+
+
+
+
+
+
+
+
+
+
+## Other Credits
+### Mega Evolution Overworld Sprite Credits:
- [princess-phoenix](https://www.deviantart.com/princess-phoenix)
- [larryturbo](https://www.deviantart.com/larryturbo)
- [kidkatt](https://www.deviantart.com/kidkatt)
+
+## Resources
+- [Sugimori Palettes and Sprites](https://www.pokecommunity.com/showthread.php?t=336945)
+- [DS Style Gen VI Sprites](https://www.pokecommunity.com/showthread.php?t=314422)
+- [Gen VII and Beyond Sprites](https://www.pokecommunity.com/showthread.php?t=368703)
+- Some icons ripped from [Pokemon Gaia](https://www.pokecommunity.com/showthread.php?t=326118)
+- [Data Files](https://www.pokecommunity.com/showthread.php?t=417909)
+- [Complete FireRed Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade)
+- [pokeemerald](https://github.com/pret/pokeemerald/)
+
+
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
+
+## Contributors ✨
+
+Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+
+
+
+
+
+
+
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
diff --git a/FEATURES.md b/FEATURES.md
new file mode 100644
index 0000000000..142df9da3f
--- /dev/null
+++ b/FEATURES.md
@@ -0,0 +1,146 @@
+# What features are included?
+- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**:
+ - [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h)
+ - [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h)
+ - [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h)
+ - [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h)
+ - [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h)
+- ***Upgraded battle engine.***
+ - Gen5+ damage calculation.
+ - 2v2 Wild battles support.
+ - 1v2/2v1 battles support.
+ - Fairy Type (configurable).
+ - Physical/Special/Status Category (configurable).
+ - New moves and abilities up to Scarlet and Violet.
+ - Custom Contest data up to SwSh, newer moves are WIP. ([source](https://pokemonurpg.com/info/contests/rse-move-list/))
+ - Battle gimmick support:
+ - Mega Evolution
+ - Primal Reversion
+ - Ultra Burst
+ - Z-Moves
+ - Gen 8+ damaging moves are given power extrapolated from Gen 7.
+ - Gen 8+ status moves have no additional effects, like Healing Wish.
+ - Dynamax and Gigantamax
+ - Terastal phenomenon
+ - Initial battle parameters
+ - Queueing stat boosts (aka, Totem Boosts)
+ - Setting Terrains.
+ - Mid-turn speed recalculation.
+ - Quick Poké Ball selection in Wild Battles
+ - Hold `R` to change selection with the D-Pad.
+ - Press `R` to use last selected Poké Ball.
+ - Run option shortcut
+ - Faster battle intro - Message and animation/cry happens at the same time.
+ - Faster HP drain.
+ - Battle Debug menu.
+ - Accessed by pressing `Select` on the "Fight/Bag/Pokémon/Run" menu.
+ - Option to use AI flags in wild Pokémon battles.
+ - FRLG/Gen4+ whiteout money calculation.
+ - Configurable experience settings
+ - Experience on catch.
+ - Splitting experience.
+ - Trainer experience.
+ - Scaled experience.
+ - Unevolved experience boost.
+ - Frostbite.
+ - Doesn't replace freezing unless a config is enabled, so you can mix and match.
+ - Critical capture.
+ - Removed badge boosts (configurable).
+ - Recalculating stats at the end of every battle.
+ - Level 100 Pokémon can earn EVs.
+ - Inverse battle support.
+ - TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h).
+- ***Full Trainer customization***
+ - Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess.
+ - Custom tag battle support (teaming up an NPC in a double battle).
+ - Sliding trainer messages.
+ - Upgraded Trainer AI
+ - Considers newer move effects.
+ - New flag options to let you customize the intelligence of your trainers.
+ - Faster calculations.
+ - Specify Poké Balls by Trainer class.
+- ***Pokémon Species from Generations 1-9.***
+ - Simplified process to add new Pokémon.
+ - Option to disable unwanted families.
+ - Updated sprites to DS style.
+ - Updated stats, types, abilities and egg groups (configurable).
+ - Updated Hoenn's Regional Dex to match ORAS' (configurable).
+ - Updated National Dex incorporating the new species.
+ - Sprite and animation visualizer.
+ - Accesible by pressing `Select` on a Pokémon's Summary screen.
+ - Gen4+ evolution methods, with some changes:
+ - Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'.
+ - Leaf, Ice and Thunder Stones may also be used.
+ - Inkay just needs level 30 to evolve.
+ - You can't physically have both the RTC and gyroscope, so we skip this requirement.
+ - Sylveon uses Gen8+'s evolution method (friendship + Fairy Move).
+ - Option to use hold evolution items directly like stones.
+ - Hidden Abilities.
+ - Available via Ability Patch.
+ - Compatible with Ghoul's DexNav branch.
+ - All gender differences.
+ - Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett
+ - 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts.
+- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).***
+ - Item holding (eg. Giratina/Arceus)
+ - Item using (eg. Oricorio)
+ - Time of day option for Shaymin
+ - Fainting
+ - Battle begin and end (eg. Xerneas)
+ - Move change option for Zacian/Zamazenta
+ - Battle end in terrains (eg. Burmy)
+ - Switched in battle (eg. Palafin)
+ - HP Threshold (eg. Darmanitan)
+ - Weather (eg. Castform)
+ - End of turn (eg. Morpeko)
+ - Time of day (eg. Shaymin)
+ - Fusions (eg. Kyurem)
+- ***Breeding Improvements***
+ - Incense Baby Pokémon now happen automatically (configurable).
+ - Level 1 eggs (configurable).
+ - Poké Ball inheriting (configurable).
+ - Egg Move Transfer, including Mirror Herb (configurable).
+ - Nature inheriting 100% of the time with Everstone (configurable)
+ - Gen6+ Ability inheriting (configurable).
+- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).***
+ - ***Gen 6+ Exp. Share*** (configurable)
+ - Berserk Gene
+ - Most battle items from Gen 4+
+- ***Feature branches incorporated (with permission):***
+ - [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi.
+ - A small signature from all of us to show the collective effort in the project :)
+ - [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman
+ - May be disabled.
+ - Accesible by pressing `R + Start` in the overworld by default.
+ - **Additional features**:
+ - *Clear Boxes*: cleans every Pokémon from the Boxes.
+ - *Hatch an Egg*: lets you choose an Egg in your party and immediately hatch it.
+ - [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman
+ - Not enabled by default, can be enabled in `include/config/pokedex_plus_hgss.h`
+ - **Additional features**:
+ - *Support for new evolution methods*.
+ - *Dark Mode*.
+ - [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg
+ - [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337
+ - [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash
+ - [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant
+ - Not enabled by default, can be enabled in `include/config/overworld.h`
+ - Includes Pokémon followers like in HGSS, including interactions.
+ - ***Expands the amount of possible object event IDs beyond 255.***
+ - ***Includes an implementation of dynamic overworld palettes (DOWP).***
+ - **Additional features**:
+ - *Pokémon overworld sprites up to Generation 9.*
+ - *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.*
+- ***Other features***
+ - Pressing B while holding a Pokémon drops them like in modern games (configurable).
+ - Running indoors (configurable).
+ - Configurable overworld poison damage.
+ - Configurable flags for disabling Wild encounters and Trainer battles.
+ - Configurable flags for forcing or disabling Shinies.
+ - Reusable TM (configurable).
+ - B2W2+ Repel system that also supports LGPE's Lures
+ - Gen6+'s EV cap.
+ - All bugfixes from pret included.
+ - Fixed overworld snow effect.
+
+There are some mechanics, moves and abilities that are missing and being developed. Check our [issues page](https://github.com/rh-hideout/pokeemerald-expansion/issues) to see which ones.
diff --git a/INSTALL.md b/INSTALL.md
index 6e52559f67..a49a9d5c18 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -85,11 +85,11 @@ Follow these steps to build `pokeemerald-expansion`.
See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information.
To speed up building, first get the value of `nproc` by running the following command:
-```bash
+```console
nproc
```
Builds can then be sped up by running the following command:
-```bash
+```console
make -j