Version 1.8.0

This commit is contained in:
Eduardo Quezada 2024-03-16 19:46:20 -03:00
parent f692244ce7
commit 331efedf7e
8 changed files with 744 additions and 35 deletions

View file

@ -23,17 +23,15 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.7.4 (Latest release)
- master (default when pulling, unreleased bugfixes)
- 1.8.0 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.2
- 1.6.1
- 1.6.0
- pre-1.6.0
- pre-1.7.0
validations:
required: true
- type: input

View file

@ -23,17 +23,15 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.7.4 (Latest release)
- master (default when pulling, unreleased bugfixes)
- 1.8.0 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.2
- 1.6.1
- 1.6.0
- pre-1.6.0
- pre-1.7.0
validations:
required: true
- type: input

View file

@ -23,17 +23,15 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.7.4 (Latest release)
- master (default when pulling, unreleased bugfixes)
- 1.8.0 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.2
- 1.6.1
- 1.6.0
- pre-1.6.0
- pre-1.7.0
validations:
required: true
- type: input

View file

@ -1,5 +1,8 @@
# Pokeemerald-Expansion Changelogs
## Version 1.8.x
### [Version 1.8.0](docs/changelogs/1.8.0.md) - Feature Release
## Version 1.7.x
### [Version 1.7.4](docs/changelogs/1.7.4.md) - Bugfix Release
### [Version 1.7.3](docs/changelogs/1.7.3.md) - Bugfix Release

View file

@ -25,24 +25,23 @@ Based off RHH's pokeemerald-expansion v1.7.3 https://github.com/rh-hideout/pokee
- 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/))
- 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
- Gigantamax forms
- 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
- Initial battle parameters
- Queueing stat boosts (aka, Totem Boosts)
- Setting Terrains.
- Mid-turn speed recalculation.
- Quick Poké Ball selection in Wild Battles
- Press `R` to use last selected Poké Ball.
- 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 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.
@ -105,7 +104,8 @@ Based off RHH's pokeemerald-expansion v1.7.3 https://github.com/rh-hideout/pokee
- HP Threshold (eg. Darmanitan)
- Weather (eg. Castform)
- End of turn (eg. Morpeko)
- Time of day (Shaymin)
- Time of day (eg. Shaymin)
- Fusions (eg. Kyurem)
- ***Breeding Improvements***
- Incense Baby Pokémon now happen automatically (configurable).
- Level 1 eggs (configurable).
@ -138,7 +138,6 @@ Based off RHH's pokeemerald-expansion v1.7.3 https://github.com/rh-hideout/pokee
- *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
- [Guillotine](https://github.com/aarant/pokeemerald/tree/guillotine) (Decapitalization) by @aarant
- ***Other features***
- Pressing B while holding a Pokémon drops them like in modern games (configurable).
- Running indoors (configurable).
@ -165,7 +164,7 @@ With this, you'll get the latest version of pokeemerald-expansion, plus a couple
## **How do I update my version of pokeemerald-expansion?**
- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`.
- Once you have your remote set up, run the command `git pull RHH expansion/1.7.4`.
- Once you have your remote set up, run the command `git pull RHH expansion/1.8.0`.
### Please consider crediting the entire [list of contributors](https://github.com/rh-hideout/pokeemerald-expansion/wiki/Credits) in your project, as they have all worked hard to develop this project :)

704
docs/changelogs/1.8.0.md Normal file
View file

@ -0,0 +1,704 @@
# Version 1.8.0
```md
## How to update
- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`.
- Once you have your remote set up, run the command `git pull RHH expansion/1.8.0`.
```
## 🌋 *IMPORTANT CHANGES* 🌋
* ***Python is now a required for the Expansion***.
* Run the `command -v python3` command to see if you have it. If you don't, please check INSTALL.md to see how to install it.
* **Support for PoryMap v5.1.1 and lower has been dropped.**
* [Please update your PoryMap version](https://github.com/huderlem/porymap/releases).
* Specifically, we have removed the commented-out `gMonIconTable` table used to associate species IDs with icon images by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3896
* From PoryMap v5.2.0 onwards, these icons are autodetected based on file/directory names instead.
* To continue using older versions of PoryMap, you may restore the commented-out table, though you'll need to keep it up to date with any new items you add.
* **Backwards-compatible `BoxPokemon` Refactor** by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3438
* HP and Status is now kept when depositing Pokémon in the PC
* Previous behavior can be restored by setting `OW_PC_HEAL`.
* Nature Mints are now fully functional.
* Nature colors in summary screen are based on the changed nature by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3898
* Gigantamax Factor and Dynamax Level fully supported.
* Cannot be seen in summary screen.
* Dynamax Candy effect added.
* Gigantamax Factor prevents Duraludon from evolving, like Pikachu, Eevee and Meowth beforehand.
* Added `hasgigantamaxfactor` and `togglegigantamaxfactor` overworld script commands.
* Gigantamax Factor cannot be toggled for Mythical Pokémon (vanilla behavior).
* Hyper Training is now fully supported.
* Cannot be seen in summary screen.
* Added `canhypertrain` and `hypertrain` overworld script commands.
* Shininess can be toggled with `MON_DATA_IS_SHINY`.
* Added Tera Type field is added for future-proofing.
* It can be seen in the summary screen by turning `P_SHOW_TERA_TYPE` on.
* Added `isShadow` field for future-proofing.
* Added options for Tera Type, Dynamax Level, Gigantamax Factor and Shadow flag in tests.
* Cleanup by
* @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3832
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4017
* **Move Refactors**:
* ***Move data unification*** by @LOuroboros, with help from @Bassoonian, @cfmnephrite and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3999
* Renamed `gBattleMoves` to `gMovesInfo`.
* Moved move names to `gMovesInfo`.
* Added `GetMoveName` to get all move names, removing the need for `GetMaxMoveName` and `GetZMoveName`.
* Moved move descriptions to `gMovesInfo`.
* Moved contest data to `gMovesInfo`.
* ***Secondary/primary effects overhaul*** by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3577
* Secondary effects such as stat stage modifiers and status via are now set via `additionalEffects` field.
* Eg.
```c
[MOVE_THUNDER_FANG] =
{
.effect = EFFECT_FLINCH_STATUS,
.secondaryEffectChance = 10,
.argument = STATUS1_PARALYSIS,
...
},
```
Now becomes:
```c
[MOVE_THUNDER_FANG] =
{
.effect = EFFECT_HIT,
.additionalEffects = ADDITIONAL_EFFECTS(
{ .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 10, },
{ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 10, }
),
...
},
```
With customizable independent chances for each effect. Because of this, `secondaryEffectChance` has been removed.
* For more info, check the wiki article on [How to add a new move](https://github.com/rh-hideout/pokeemerald-expansion/wiki/How-to-add-a-new-move-(Version-1.8.0-and-higher)).
* Cleanup by:
* @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3986
* @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4003
* By @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4137
* By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4277
* ***Renamed Battle Move "Split" to the proper "Category" term*** by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3774
```diff
-.split = SPLIT_PHYSICAL,
+.category = DAMAGE_CATEGORY_PHYSICAL,
```
* Z-move power override (eg. Mega Drain) was moved from a switch in `GetZMovePower` to move data. It's part of an union alongsize with Z-move status effect by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3575
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4201
* Removed `EFFECT_RECOIL_x` effects in favor of new `recoil` field by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3575
* Removed critical-hit move effects in favor of new `criticalHitStage` by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3779
* Added `alwaysCriticalHit` move flag.
* Converted `EFFECT_x` defines to an enum by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3975
* Move data now uses ternaries for data that was changed only once across generations by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3987
```diff
[MOVE_SWORDS_DANCE] =
{
- #if B_UPDATED_MOVE_DATA >= GEN_6
- .pp = 20,
- #else
- .pp = 30,
- #endif
.effect = EFFECT_ATTACK_UP_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
+ .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30,
```
* Moved effect script array to `src/data/battle_move_effects.h` by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3994
* AI's `sEncouragedEncoreEffects` and Battle TV's `sPoints_MoveEffect` are now handled in this struct.
* Some move flags were moved to this array instead
* Semi-invulnerable flag (`semiInvulnerableEffect`) in https://github.com/rh-hideout/pokeemerald-expansion/pull/4062
* Cleanup by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4150
* Flag to define Two-turn effects (`twoTurnEffect`) in https://github.com/rh-hideout/pokeemerald-expansion/pull/4062
* Flag for increasing the protection counter (`usesProtectCounter`) in https://github.com/rh-hideout/pokeemerald-expansion/pull/4062
* Removed `sheerForceBoost` in favor of checking their actual secondary effects by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4096
* To force Sheer Boost acting for a move without secondary effect, you can add `SHEER_FORCE_HACK` in the `additionalEffects` field.
* ***Learnset refactors***
* ***Level up learnsets can now be switched by generational config*** by @MartyKen in https://github.com/rh-hideout/pokeemerald-expansion/pull/4049
* Adds a file for each generation with data for all species.
* Gen 1: Yellow
* Gen 2: Crystal
* Gen 3: RSE
* Gen 4: HGSS
* Gen 5: B2W2
* Gen 6: ORAS
* Gen 7: USUM
* Gen 8:
* Species from Gens 1-4: BDSP
* Species from Legends: Arceus: Use that game's data.
* Species from Gens 5-8: SwSh if they exist there. Otherwise, default to Gen 7's data.
* Gen 9:
* If they exist in SV, use that game's data.
* Otherwise, default to Gen 8's data.
* If a Pokémon doesn't exist in the respective generation, it uses the first instance it appears in.
* Eg. Chikorita uses its Gen 2 learnset if the config is set to Gen 1.
* ***IMPORTANT:*** Since the expansion's default had most movesets correspond to USUM's, conflicts will arise in `data/pokemon/level_up_learnsets/gen_7.h` if you modified the level learnsets. Be sure to backup your `data/pokemon/level_up_learnsets.h` before merging and then do the following after merging to keep your changes:
```diff
+#include "data/pokemon/level_up_learnsets.h"
+#if FALSE
+
#if P_LVL_UP_LEARNSETS >= GEN_9
#include "data/pokemon/level_up_learnsets/gen_9.h"
#elif P_LVL_UP_LEARNSETS >= GEN_8
#include "data/pokemon/level_up_learnsets/gen_8.h"
#elif P_LVL_UP_LEARNSETS >= GEN_7
#include "data/pokemon/level_up_learnsets/gen_7.h"
#elif P_LVL_UP_LEARNSETS >= GEN_6
#include "data/pokemon/level_up_learnsets/gen_6.h"
#elif P_LVL_UP_LEARNSETS >= GEN_5
#include "data/pokemon/level_up_learnsets/gen_5.h"
#elif P_LVL_UP_LEARNSETS >= GEN_4
#include "data/pokemon/level_up_learnsets/gen_4.h"
#elif P_LVL_UP_LEARNSETS >= GEN_3
#include "data/pokemon/level_up_learnsets/gen_3.h"
#elif P_LVL_UP_LEARNSETS >= GEN_2
#include "data/pokemon/level_up_learnsets/gen_2.h"
#elif P_LVL_UP_LEARNSETS >= GEN_1
#include "data/pokemon/level_up_learnsets/gen_1.h"
#endif
+#endif
```
* Cleanup by
* @MartyKen in https://github.com/rh-hideout/pokeemerald-expansion/pull/4267
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4275
* Added `sUniversalMoves`, a near-universal teachable move array by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4052
* This removes the need to add moves such as Hidden Power to almost every species.
* Adds `tmIlliterate` flag that controls when specific species cannot learn these moves, such as Magikarp, Caterpie and Ditto.
* ***Auto-generate teachable learnset data from JSON data*** by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3856
- Scans the repository for TMs and tutor moves.
- Checks JSON files (same format as PoryMoves, with minor label adjustments for an easier time) for compatibility.
- Creates a `teachable_learnsets.h` file with the smallest size possible by only including the moves found in the scan.
- Users can easily delete/add JSON files to reference less/more data as they see fit.
- Eg. they can remove hgss.json to remove those games' compatibility list from being considered.
- Any changes in `teachable_learnsets.h` made before this tool runs for the first time will be saved in `custom.json` for flawless migration.
* Updated `teachable_learnsets.h` using this script by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4064
* Further updated with new Indigo Disk data compatibility by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4155
* Can be disabled via `P_LEARNSET_HELPER_TEACHABLE`.
* Removed previously untutorable moves from Mew's unteachable moves by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4142
* **Ability Refactor: new struct called `Ability` that stores both name and description of abilities** by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3861
* AI ability scores moved to this struct by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3862
* Added ability flags to replace arrays and switch statements by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3886
* `cantBeCopied`: Cannot be copied by Role Play or Doodle.
* `cantBeSwapped`: Cannot be swapped with Skill Swap or Wandering Spirit.
* `cantBeTraced`: Cannot be copied by Trace.
* `cantBeSuppressed`: Cannot be negated by Gastro Acid or Neutralizing Gas.
* `cantBeOverwritten`: Cannot be overwritten by Entrainment, Worry Seed or Simple Beam. Mummy/Lingering Aroma checks for `cantBeSuppressed` instead.
* `breakable`: Can be bypassed by Mold Breaker-like abilities.
* `failsOnImposter`: Currently unused.
* Cleanup by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3889
* **Type info consolidation by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4185**
* New struct called `TypeInfo` that stores:
* Name
* Generic move name
* Icon Palette index number
* Type Z-Move
* Type Max Move
* Commented out data to assist users that desire to use it in their own hacks and as a reference for them to add items of new types.
* Type-enhancing item (eg. Charcoal)
* Type-resist berry
* Type Gems
* Z-Crystal
* Tera Shard
* Arceus form
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4276
## 🧬 General 🧬
### Added
* Added optional high-quality RNG by @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/3780
* Can be toggled with `HQ_RANDOM`.
* Cleanup by
* @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/3812
* @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/4218
* @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/4278
* Added defines to RHH's rom header
* `MOVES_COUNT` and `NUM_SPECIES` by @Ninjdai1 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3831
* Cleanup by @Ninjdai1 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3992
* `ITEMS_COUNT` and `ITEM_NAME_LENGTH` by @Ninjdai1 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3988
* IWRAM and EWRAM variables can now be assigned at boot by using `EWRAM_INIT` and `IWRAM_INIT` by @aronson in https://github.com/rh-hideout/pokeemerald-expansion/pull/3892
* For example:
```c
EWRAM_INIT u32 gFoo = 1337;
IWRAM_INIT u32 gFastFoo = 31337;
```
* Cleanup by @aronson in https://github.com/rh-hideout/pokeemerald-expansion/pull/3903
* Level Caps by @AlexOn1ine, @SBird1337 and PokemonCrazy in https://github.com/rh-hideout/pokeemerald-expansion/pull/3632
* Types of caps (set in `B_EXP_CAP_TYPE`):
* None (`EXP_CAP_NONE`): Regular behavior, no level caps are applied.
* Hard (`EXP_CAP_HARD`): Pokémon with a level equal or above cap cap cannot gain any experience.
* Soft (`EXP_CAP_SOFT`): Pokémon with a level equal or above cap will gain reduced experience.
* Cap level can be set using either:
* `LEVEL_CAP_FLAG_LIST`: Level cap is chosen according to the first unset flag in `sLevelCapFlagMap`.
* `LEVEL_CAP_VARIABLE`: Uses a defined variable to dynamically change level cap.
* Additional options include:
* `B_RARE_CANDY_CAP`: If set to true, Rare Candies can't be used to go over the level cap.
* `B_LEVEL_CAP_EXP_UP`: If set to true, mons under level cap will receive more experience.
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4275
* Added new metaprogram macros by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/3968
* Allows to set up default data without explicitily defining it.
* Eg. setting Poké Balls as the default ball for all trainer classes.
* Elite Four/Champion transitions can now easily be applied to any trainer in their data by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4000
* Based off @ShinyDragonHunter's [BetterMugshots](https://github.com/ShinyDragonHunter/pokeemerald/tree/BetterMugshots) branch.
* To use, use these in `src/data/trainers.h`:
* Use`mugshotEnabled` to enable it for the specific trainer.
* Use `mugshotColor` to choose the color of the background for the transition between the following:
* `MUGSHOT_COLOR_PURPLE`
* `MUGSHOT_COLOR_GREEN`
* `MUGSHOT_COLOR_PINK`
* `MUGSHOT_COLOR_BLUE`
* `MUGSHOT_COLOR_YELLOW`
* Cleanup using metaprogram by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4140
* Added `OW_DOUBLE_APPROACH_WITH_ONE_MON` config to allow being spotted by two trainers with one mon in party for a 2v1 battle by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4007
* Added configs to enable metric system units by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4183
* Toggled by `UNITS` in `include/config.h`.
* Cleanup by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4193
* ***Implemented custom GiveMon scripting command*** by @LOuroboros, with help from @ghoulslash and @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3924
* Based off @ghoulslash's [custom_givemon](https://github.com/ghoulslash/pokeemerald/tree/custom_givemon) branch.
* In addition to Species, Level and Held Item, users can now specify:
* Poké Ball
* Nature
* Ability number
* You can pass `NUM_ABILITY_PERSONALITY` to generate the ability based on personality by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4192
* Gender
* EVs
* IVs
* Moves
* Shininess
* Gigantamax Factor
* Tera Type
* Save-compatible SaveBlock3, with 1624 bytes by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4112
* ***IMPORTANT:*** This is incompatible with the "[Extra save space with two lines of code](https://github.com/pret/pokeemerald/wiki/Extra-save-space-with-two-lines-of-code)" tutorial, which allocates that additional space to `SaveBlock1`, `SaveBlock2`, and `PokemonStorage` instead. To preserve save compatibility, change `SAVE_BLOCK_3_CHUNK_SIZE` to 0 and keep `SECTOR_DATA_SIZE` as 4084.
* Trainer Control
* Trainer data encapsulation by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4216
* Added options for `TrainerMon`:
* By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3438
* Dynamax Level (`dynamaxLevel`)
* Gigantamax Factor (`gigantamaxFactor`)
* By @Nopinou in https://github.com/rh-hideout/pokeemerald-expansion/pull/4169
* AI flags to signal when to Dynamax (`shouldDynamax`)
* AI flags to signal when to Terastalize (`shouldTerastal`)
* Sets neutral nature and ability to 0 as default by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4172
* Added `randompercentage` and `randomelement` script commands by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4189
* Allows to do the following:
```
@ VAR_RESULT is one of Treecko, Torchic, or Mudkip
randomelement SPECIES_TREECKO, SPECIES_TORCHIC, SPECIES_MUDKIP
@ Gives a random one of Treecko, Torchic, or Mudkip.
givemon VAR_RESULT, 5
```
```
@ VAR_RESULT is TRUE 25% of the time, and FALSE 75% of the time.
randompercentage 25
@ Gives a Wobbuffet that is shiny 25% of the time.
givemon SPECIES_WOBBUFFET, 20, isShiny=VAR_RESULT
```
### Changed
* Simplified creation of Object Events by adding `overworld_ascending_frames` for sequential `overworld_ascending`s by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3625
* Comparison functions now follow -1, 1, 0 convention by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3777
* Centralized Trainer sprites by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3597
* Standarized usage of array shuffling to use `Shuffle` function by @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/3801
* Turned nature names into compound strings by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3871
* `TrainerMoney` struct is renamed to `TrainerClass` and now includes Trainer Class name by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3875
* Improve error message with unsupported cpp by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4272
### Fixed
* Fixed potential compiler errors by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4252
* Fixed `ScriptGiveMonParameterized` not recognizing the state of `P_FLAG_FORCE_SHINY` and `P_FLAG_FORCE_NO_SHINY` by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4256
* Fixed a graphical issue when catching a form of a Pokémon for the first time by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4279
* Fixed `ScriptGiveMonParameterized` randomizing nature even when being set by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4271
## ✨ Feature Branches ✨
### ***Incorporated @SBird1337's Dynamic Multichoices*** by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3826
* This allows to set up custom multichoices much easier!
* Allows you to control what options appear based custom conditions (such as them being based on what items you have currently, or even completely at random!).
* Event callbacks can be added as well, to fully customize what happens with your multichoices.
* Included there's `DYN_MULTICHOICE_CB_SHOW_ITEM`, which shows icons of the items defined by your script.
* Compatible with Poryscript.
* For more information and how to use it, please visit the [Pokécommunity thread](https://www.pokecommunity.com/threads/event-scripts-dynamic-multichoice.489984/).
### ***Incorporated @ghoulslash's save block branch*** by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4113
* Differences from the the standalone branch:
- Moved configs to dedicated file (`include/config/save.h`).
- Fixed comments to the proper amount of space saved.
- Added `FREE_MYSTERY_GIFT`, saving 876 bytes in `SaveBlock1`.
* Added new `FREE_EXTRA_SEEN_FLAGS_SAVEBLOCK2` to Pokedex struct to save an extra 108 in `SaveBlock2` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4213
* Renamed `FREE_EXTRA_SEEN_FLAGS` to `FREE_EXTRA_SEEN_FLAGS_SAVEBLOCK1` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4213
- Converted `#ifndef` configs to the config format the rest of expansion uses
- Cleaned up the code and fixed to work on `modern`.
### ***TheXaman's Debug Menu***:
#### Added
* *"Give Pokémon Complex"* option can now set EVs by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3566
* Fix by @gabrielcowley in https://github.com/rh-hideout/pokeemerald-expansion/pull/3930
* Added *"Clear bag"* option by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/
* Added new party debug options by @LOuroboros, with help from @ghoulslash and @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3924
* *"Check IV"*: Checks the selected Pokémon's IVs.
* *"Check EV"*: Checks the selected Pokémon's EVs.
* *"Clear Party"*: Deletes all Pokémon from the Player's party.
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4275
* Upgraded "Poison Party" to "Inflict Status1" by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4235
* Now it can also inflict: Paralysis, Sleep, Burn, Freeze and Frostbite.
* Can be applied to a single member or the whole party.
* Built using SBird's Multichoice.
#### Changed
* Cleaned up text and adjusted size to support longer text by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3919
* Reorganization and better naming by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3926
* Removed duplicated "Give all TMs" option by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4025
#### Fixed
* Fixed sound effect clipping when giving an item via debug menu by using a shorter sound by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4025
## 🐉 Pokémon 🐉
### Added
* Added Indigo Disk Pokémon data:
* Doesn't break saves since it uses the reserved IDs used in 1.7.0
* Species data by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3878
* Cleanup by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3974
* Sprites from [PokéCommunity's 64x64 DS-Style thread](https://www.pokecommunity.com/threads/ds-style-gen-vii-and-beyond-pok%C3%A9mon-sprite-repository-in-64x64.368703/post-10786160) by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4117
* Front/Back sprites for: Gouging Fire, Raging Bolt, Iron Boulder, Iron Crown, Archaludon, Hydrapple.
* Icon for: Hydrapple.
* Cries by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4164
* Added `P_FOOTPRINTS` config to disable Pokémon footprints, saving around 35KB of ROM space by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3902
* Cleanup by
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3925
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4251
* Added missing `P_UPDATED_EVS` config that allows setting the EV yield changes across generations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3993
* Added missing `P_UPDATED_EXP_YIELDS` config that allows setting the Experience yield changes across generations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3995
* Added evolution methods that require custom trackers (`MON_DATA_EVOLUTION_TRACKER`) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4087
* `EVO_LEVEL_MOVE_TWENTY_TIMES`:
* Stantler can now evolve into Wyrdeer by using Psyshield Bash 20 times.
* Primeape can now evolve into Annihilape by using Rage Fist 20 times.
* `EVO_LEVEL_RECOIL_DAMAGE_MALE`/`EVO_LEVEL_RECOIL_DAMAGE_FEMALE`
* White-Striped Basculin can now evolve into Basculegion when leveling up after receiving 294HP of recoil damage and being the corresponding gender.
* Added missing Paldean Wooper icon by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4260
* Added missing data for placeholder Pokémon by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4281
* Internal Mothim forms used for accurate breeding.
* Internal Scatterbug/Spewpa forms that can be used to specify Vivillon form in previous stages.
* Totem Pokémon
* Partner Pikachu/Eevee
### Changed
* ***Made all species IDs absolute instead of relative, to avoid confusion when adding new species*** by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4281
* Moved shared Pokédex text descriptions to their own file by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4281
* Renamed `species_info/gen_X.h` to `species_info/gen_X_families.h`
* Added missing entries for Hidden Abilities that default to `ABILITY_NONE`.
* Updated Gen 9 mon sprites from [PokéCommunity's 64x64 DS-Style thread](https://www.pokecommunity.com/threads/ds-style-gen-vii-and-beyond-pok%C3%A9mon-sprite-repository-in-64x64.368703/post-10786160) by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3969
- Brute Bonnet
- Chi-Yu
- Flutter Mane
- Iron Bundle
- Sandy Shocks
- Scream Tail
- Skeledirge
- Slither Wing
* Added `MON_TYPES` and `MON_EGG_GROUPS` metaprogram macros by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4154
* They're used to define a single type/egg group without needing to define it twice.
```diff
-.types = { TYPE_WATER, TYPE_WATER },
+.types = MON_TYPES(TYPE_WATER),
...
-.eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 },
+.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3),
```
Still supports double types:
```diff
-.types = { TYPE_GROUND, TYPE_ROCK },
+.types = MON_TYPES(TYPE_GROUND, TYPE_ROCK),
...
-.eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD },
+.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD),
```
* ***To avoid confusion, reverted gSpeciesInfo "INFO" macros*** by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4230
## ⚔️ Battle General ⚔️ ##
### Added
* Implemented optional Gen1 type immunity logic. by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3627
* Added Calyrex's blue Dynamax aura by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4018
* Expanded `VAR_TERRAIN` functionality
* Added `B_VAR_STARTING_STATUS_TIMER` to allow `VAR_TERRAIN` (now called `B_VAR_STARTING_STATUS`) to last only a certain amount of turns instead of permanently by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4132
* Further expanded by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4176
* Can be used to set up these as well:
* Trick Room
* Magic Room
* Wonder Room
* Tailwind (for player or opponent sides independenly)
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4237
* AI score debug menu can now cycle through battlers by pressing L/R by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4134
### Changed
* Simplified Battle Partners code (eg. Steven) by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3592
* Based off @ShinyDragonHunter's [CustomMultiBattles](https://github.com/ShinyDragonHunter/pokeemerald/tree/CustomMultiBattles) branch.
* Removed specialized code for Steven partner cases.
* Partners are now stored in their own array.
* Fixed infinite loop by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3808
* B_VAR_TERRAIN_TIMERRenamed VAR_TERRAIN to B_VAR_TERRAIN and added a var-based field terrain timer by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4132
### Fixed
* Fixed AI calculations potentially stomping data when emiting data by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3784
* Fixed Battle AI debug screen showing shiny sprites by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3922
* Fixed Gigantamax Factor not changing form by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4108
* Fixed Quick Draw having increased chances of activation in double battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4266
## 🤹 Moves 🤹
### Added
* Added missing move effects:
* Ally Switch by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3533
* Cleanup by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3835
* Doodle by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3609
* Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3800
* Fillet Away by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3616
* Shed Tail by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4016
* Last Respects by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4151
* Tidy Up by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4136
* Added Indigo Disk Moves
* Data by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3704
* Moves with existing effects by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3704
* Thunderclap
* Mighty Cleave
* Tachyon Cutter
* Hard Press
* Temper Flare
* Animation by @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4145
* Supercell Slam
* Malignant Chain
* New move effects
* By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3853
* Burning Bulwark (uses Protect's animation as placeholder)
* Alluring Voice (and animation)
* Fickle Beam
* Electro Shot
* Animation by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4148
* Psychic Noise by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4005
* Animation by @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4145
* Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4021
* Upper Hand (and animation) by @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4085
* Dragon Cheer by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4122
* Cleanup by @AlexOn1ine, based on comments by @Skeli789 and @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4136
* Added move animations for existing moves:
* By @ZnogyroP, with adjustments from @AlexOn1ine and @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/3989
* Raging Bull
* Gigaton Hammer
* Ice Spinner
* Aqua Cutter
* Jet Punch by @PCG06 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4067
* By @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4145
* Last Respects
* Lumina Crash
* Kowtow Cleave
* Torch Song
* Aqua Step
* Hydro Steam
* Tidy Up
* Pounce
* Trailblaze
* Chilling Water
* Rage Fist
### Changed
* Updated move data to Gen 9 with configs by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3704
* Added `sketchBanned` move flag, given to:
* Sketch, Dark Void, Hyperspace Fury, Revival Blessing, Torque moves.
* Luster Purge: 70 Power -> 95 Power
* Mist Ball: 70 Power -> 95 Power
* Aeroblast: Added Wind Move flag.
* Ivy Cudgel's type now changes based on Ogerpon's form rather than held item by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3865
* Renamed `healBlockBanned` flag to `healingMove` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3981
* Removed some hardcoded move IDs
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3982
* `MOVE_EXPLOSION`, `MOVE_SELF_DESTRUCT`, `MOVE_FRUSTRATION`, `MOVE_AURA_WHEEL`, `MOVE_PRESENT`, `MOVE_BLIZZARD`.
* By @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4085
* `MOVE_SUCKER_PUNCH`.
* Removed now redundant `EFFECT_HURRICANE` in favor of `EFFECT_THUNDER` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3982
* Renamed `constants/z_move_effects.h` to `constants/battle_z_move_effects.h` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3982
* Updated Draco Meteor's animation to use @Skeli789's from CFRU, by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3989
* Improved Double Shock's animation by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3989
* Set `EFFECT_PLACEHOLDER` as the default move effect by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4079
* Renamed `EFFECT_FAKE_OUT` to `EFFECT_FIRST_TURN_ONLY` due to the flinch effect separation by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4081
* Renamed `EFFECT_WRING_OUT` to `EFFECT_VARY_POWER_BASED_ON_HP` and now it uses `argument` to set its base power by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4180
### Fixed
* Fixed `GetBattleAnimMoveTargets` function that caused multiple animation issues, such as Overheat's animation by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4139
* Fixed hardcoded battle strings by @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4147
* Hospitality had Sinistcha's name hardcoded.
* Battler prefixes (eg. "The opposing") were hardcoded in some places.
* Fixed Supreme Overlord's incorrect effect by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4151
* Fixed Hard Press' base power by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4180
* Fixed Teeter Dance not being copyable by Dancer in singles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4129
* *Known issue*: In doubles, it copies the move, but only confuses a single Pokémon.
## 🎭 Abilities 🎭
### Added
* Added Mind's Eye by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3782
* Added Hospitality by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3818
* Fixed Dynamax interaction by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3821
* Added Embody Aspect (all 4 versions) by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3821
* Added Supersweet Syrup by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4115
* Cleanup by
* @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4170
* @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4171
* Indigo Disk Abilities
* Data by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3838
### Changed
* Updated ability banlists to Indigo Disk data by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3609
### Fixed
* Fixed Tangling Hair preventing Rocky Helmet from triggering interaction by @AlexOn1ine, with help from @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4219
## 🧶 Items 🧶
### Added
* Added Meteorite item form change functionality for Deoxys by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3770
* Added item price configs by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3834
* `I_PRICE` and `I_BERRY_PRICE`.
* Fixed missing data by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3836
* Added Pokemon Box Link functionality by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3837
* Added Indigo Disk item data by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3854
* Metal Alloy
* Stellar Tera Shard
* Added Legends: Arceus item data by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3825
* Jubilife Muffin - Local specialty (Full Heal)
* Remedy - Medicine (Potion)
* Fine Remedy - Medicine (Super Potion)
* Super Remedy - Medicine (Hyper Potion)
* Aux items
* Aux Evasion
* Aux Power
* Aux Guard
* Aux Powerguard
* Sprites based off [lichen's sprites from Relic Castle](https://reliccastle.com/resources/1287/) by @MartyKen in https://github.com/rh-hideout/pokeemerald-expansion/pull/4160
* Choice Dumpling
* Swap Snack
* Twice Spiced Radish
* Pokéshi Doll
* ***Berry Expansion*** by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3618
* Berry Mutations (from XY): Planting a Berry tree next to another has a `BERRY_MUTATION_CHANCE` (25% by default) chance of causing a mutation (as dictated by `sBerryMutations`). Mutations mean that besides the usual output, the Berry plant will have a single Berry of the mutation (e.g. planting a Iapapa Berry next to a Mago Berry will cause it to have a single Pomeg Berry on top of its usual output).
* Enabled via `OW_BERRY_MUTATIONS` config.
* Easier Berry Debugging: Add berry manipulation functions to the debug menu to allow for forced growth and more.
* Mulch (from Gen IV and XY): Using it on soil affects the growth, watering and production values of the plants.
* Enabled via `OW_BERRY_MULCH_USAGE` config.
* Gradient watering (from Gen IV and XY) (`OW_BERRY_MOISTURE` and `OW_BERRY_ALWAYS_WATERABLE`): rather than keeping track of if each stage has been watered like Gen III, the humidity of the soil is kept track of separately.
* Enabled via `OW_BERRY_MOISTURE` config.
* Switch between Gen4/6 via `OW_BERRY_ALWAYS_WATERABLE` config.
* Rate of drying set by `OW_BERRY_DRAIN_RATE` config.
* Weeding from XY: Berries may require unweeding for additional produce.
* Enabled via `OW_BERRY_WEEDS` config.
* Pests (from XY): Bug-type Pokémon may appear to feast on your plants.
* Enabled via `OW_BERRY_PESTS` config.
* Customisable stages: XY has six stages rather than four, so with this easy toggle you can choose the amount of stages without influencing the growth time.
* Enabled via `OW_BERRY_SIX_STAGES` config.
* Growth configs: Pick a generation whose Berry growth rates to use
* Changed via `OW_BERRY_GROWTH_RATE` config.
* Yield configs: Pick a generation whose Berry yields to use
* Changed via `OW_BERRY_YIELD_RATE` config.
* Cleanup by
* @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3931
* @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/4028
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4275
* Added missing pre-Gen7 Power Item config (giving 4 EVs instead of 8) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3961
* Added LGPE+ Premier Ball Bonus config by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4191
* Originally based off [pret's tutorial](https://github.com/pret/pokeemerald/wiki/LGPE-Style-Bonus-Premier-Balls), but with the following changes:
- If there's no space for the full amount of Premier Balls that would've been given, give the partial amount.
- Shows the amount of Premier Balls given.
### Changed
* ***Raised the limit of max items per stack to 999*** by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3923
* ***Unified item data***
* Move descriptions are now defined in `src/data/items.h` instead of `src/data/text/item_descriptions.h` by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3432
* Cleanup by
* @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3797
* @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4088
* Moved Item Effects (`gItemEffectTable`) to `gItemsInfo` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3991
* Renamed `gItems` to `gItemsInfo` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4068
* Item Balls now can be defined in the map's JSON (or using PoryMap) via the common script `Common_EventScript_FindItem` instead of needing to define a new script for it by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/3942
```diff
"trainer_type": "TRAINER_TYPE_NONE",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey",
+ "trainer_sight_or_berry_tree_id": "ITEM_STORAGE_KEY",
+ "script": "Common_EventScript_FindItem",
"flag": "FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY"
```
* Item count can also be defined by using the `movement_range_x` field:
```diff
"trainer_sight_or_berry_tree_id": "ITEM_NUGGET",
"script": "Common_EventScript_FindItem",
"flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET"
+ "movement_range_x": 2,
```
* Existing scripts have been adapted to use this new format.
* Added plural item name support with new `pluralName` field in `gItemsInfo` by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/3942
* When obtaining multiples of an item and the field is not defined, it appends an `s` at the end instead (eg. "Brendan got 40 Potion***s***!").
* Python migration script available in `migration_scripts/item_ball_refactor.py` by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/3997
* Deprecated `GetBerryCountString` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4012
* Cleanup by
* @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4001
* @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4015
* Combined `CannotUseBagBattleItem` and `CannotUsePartyBattleItem` into `CannotUseItemsInBattle` by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3524
### Fixed
* Fixed some ball multiplier data by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3939
* Fixed `B_SPORT_BALL_MODIFIER` config being ignored and always applying a 1.5x multiplier.
* Added missing `B_SAFARI_BALL_MODIFIER` that makes Safari Balls have a 1x multiplier from Gen7 onwards.
* Added missing `B_LURE_BALL_MODIFIER` state that sets Lure Ball's multiplier to 4x from Gen8 onwards.
* Fixed Quick Claw having increased chances of activation in double battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4266
## 🤖 Battle AI 🤖
### Added
* Added `AI_CalcMoveScore` function to more easily control score increases by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3984
* Added `AI_FLAG_POWERFUL_STATUS` AI flag, replacing `AI_FLAG_SCREENER` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4125
* It's meant to force the AI to do status instead of fainting the target (eg. setting up Trick Room to support the rest of the team)
### Changed
* AI flags are now saved by battler position instead of per side by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/3003
* Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4114
### Fixed
* Improved AI score changes handling by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4036
* AI will not further increase Attack / Sp. Atk stat if it knows it faints to target.
* AI will not use Throat Chop if opposing mon has a better move.
* AI will select Throat Chop if the sound move is the best damaging move from opposing mon.
* Cleanup by
* @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4074
* @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4075
* @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4199
* Fixed AI not setting sets up double flags correctly by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4228
* Move most damage `AI_BadMove` checks to `AI_CalcDamage` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4238
* Fixes AI trying to use Burn Up after losing its fire type.
* Fixes AI trying to use Electric moves when the target has Volt Absorb.
* Fixed AI vs AI battles would crash during the throw animation by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4240
* Fixed AI considering Mold Breaker but not Turboblaze/Teravolt for flinch-related decisions by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4244
## 🧹 Other Cleanup 🧹
* Removed hardcoded uses of `MOVE_STUFF_CHEEKS` and `MOVE_ME_FIRST` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3950
* Cleaned up `CheckMoveLimitations` to use less horizontal space by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3950
* Small `CanFirstMonBoostHeldItemRarity` optimization by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4008
* Tag previously-unused icon pals as such in code. by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/4072
* Converted a bunch of `#if/#else` to regular conditions by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4071
* Clean up contest strings by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3876
* Fixed inconsistent braces style by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4023
* Replaced some `AI_GetMoveEffectiveness` instances with `AI_CanStatus` for speeding up calculations by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4166
* Remove some unused data by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4239
* Use `u32` instead of `u8`/`u16` in gflib files by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4250
* Unify monSpritesGfx bytes/ptr field by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4252
* `gHeap` can go in the middle of ram by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4253
* Corrected initial value of `targetSpecies` variable in `GetEvolutionTargetSpecies` by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4269
* Replaces `MOVE_FIRST_IMPRESSION` argument with a check for Fake Out for 100% flinch effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4274
## 🧪 Test Runner 🧪
### Added
* Added option to set flags in tests by @fakuzatsu in https://github.com/rh-hideout/pokeemerald-expansion/pull/3786
* Added missing Illuminate and Keen Eye Tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3782
* Added missing Belly Drum tests by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3616
* Added missing Stuff Cheeks by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3950
* Added Teeter Dance + Dancer test for doubles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4274
### Changed
* Updated tests to use Gen 9 mon for appropiate abilities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3740
* Tests no longer allow to use SEND_OUT if the chosen mon is fainted by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3752
### Fixed
* Consistent `BENCHMARK` timing by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3866
* Fixed Teatime test checking for Wonder Room instead of Magic Room by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3950
* Fixed test battle move category assumptions by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4051
* Fixed Tri Attack status ability immunity test by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4229
* Fixed Dauntless Shield test names by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4229
## 📦 Pret merges 📦
* 2023/12/30 by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3869
* 2024/02/10 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4173
* 2024/03/07 by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4255
## New Contributors
* @cfmnephrite made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3575
* @tertu-m made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3780
* @aronson made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3892
* @MartyKen made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4049
* @ZnogyroP made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4085
* @Nopinou made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4169
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.7.4...expansion/1.8.0
<!--Last PR: 4272-->

View file

@ -17,6 +17,14 @@
### Fixed
* N/A
## ✨ Feature Branches ✨
### Added
* N/A
### Changed
* N/A
### Fixed
* N/A
## 🐉 Pokémon 🐉
### Added
* N/A

View file

@ -1,12 +1,13 @@
#ifndef GUARD_CONSTANTS_EXPANSION_H
#define GUARD_CONSTANTS_EXPANSION_H
// 1.8.0
#define EXPANSION_VERSION_MAJOR 1
#define EXPANSION_VERSION_MINOR 7
#define EXPANSION_VERSION_PATCH 4
#define EXPANSION_VERSION_MINOR 8
#define EXPANSION_VERSION_PATCH 0
// FALSE if this this version of Expansion is not a tagged commit, i.e.
// it contains unreleased changes.
#define EXPANSION_TAGGED_RELEASE FALSE
#define EXPANSION_TAGGED_RELEASE TRUE
#endif