diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index 0d323435b4..a06bfb5247 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.13.0 (Latest release) + - 1.13.1 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.13.0 - 1.12.3 - 1.12.2 - 1.12.1 diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index a00d5f4d2c..505cd5e6c4 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.13.0 (Latest release) + - 1.13.1 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.13.0 - 1.12.3 - 1.12.2 - 1.12.1 diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 53bf274899..4abed5dbb5 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.13.0 (Latest release) + - 1.13.1 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.13.0 - 1.12.3 - 1.12.2 - 1.12.1 diff --git a/README.md b/README.md index 93c6b3a913..21de8f622d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. ``` -Based off RHH's pokeemerald-expansion 1.13.0 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.13.1 https://github.com/rh-hideout/pokeemerald-expansion/ ``` Please consider [crediting all contributors](CREDITS.md) involved in the project! diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 667fcce2a4..8fd400844d 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,6 +20,7 @@ - [Day/Night System FAQ](tutorials/dns.md) - [Changelog](./CHANGELOG.md) - [1.13.x]() + - [Version 1.13.1](changelogs/1.13.x/1.13.1.md) - [Version 1.13.0](changelogs/1.13.x/1.13.0.md) - [1.12.x]() - [Version 1.12.3](changelogs/1.12.x/1.12.3.md) diff --git a/docs/changelogs/1.13.x/1.13.1.md b/docs/changelogs/1.13.x/1.13.1.md new file mode 100644 index 0000000000..97b33e931d --- /dev/null +++ b/docs/changelogs/1.13.x/1.13.1.md @@ -0,0 +1,44 @@ +```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.13.1 +`. +``` + + +## 🧬 General 🧬 +### Fixed +* Added sortType to Douse Drive by @fdeblasio in [#7664](https://github.com/rh-hideout/pokeemerald-expansion/pull/7664) + +## πŸ‰ PokΓ©mon πŸ‰ +### Fixed +* Fixed disabled cross-evolutions still being possible by @AsparagusEduardo in [#7678](https://github.com/rh-hideout/pokeemerald-expansion/pull/7678) + +## βš”οΈ Battle General βš”οΈ +### Changed +* Replace boolean multiplications with ternaries by @hedara90 in [#7653](https://github.com/rh-hideout/pokeemerald-expansion/pull/7653) + +## πŸ€– Battle AI πŸ€– +### Fixed +* Helping Hand bugfix; used FOE instead of BATTLE_OPPOSITE. by @surskitty in [#7659](https://github.com/rh-hideout/pokeemerald-expansion/pull/7659) + +## 🧹 Other Cleanup 🧹 +* Replace boolean multiplications with ternaries by @hedara90 in [#7653](https://github.com/rh-hideout/pokeemerald-expansion/pull/7653) +* Fix Rage Fist test name by @AlexOn1ine in [#7681](https://github.com/rh-hideout/pokeemerald-expansion/pull/7681) + +## πŸ§ͺ Test Runner πŸ§ͺ +### Changed +* Fix Rage Fist test name by @AlexOn1ine in [#7681](https://github.com/rh-hideout/pokeemerald-expansion/pull/7681) + +### Fixed +* Fix crashing tests duplicating tests from another thread by @hedara90 in [#7683](https://github.com/rh-hideout/pokeemerald-expansion/pull/7683) + +## πŸ“š Documentation πŸ“š +* Update README.md by @Bassoonian in [#7639](https://github.com/rh-hideout/pokeemerald-expansion/pull/7639) + + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.13.0...expansion/1.13.1 + + + + diff --git a/include/constants/expansion.h b/include/constants/expansion.h index e4468a82b4..02234f603c 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// Last version: 1.13.0 +// Last version: 1.13.1 #define EXPANSION_VERSION_MAJOR 1 #define EXPANSION_VERSION_MINOR 13 -#define EXPANSION_VERSION_PATCH 1 +#define EXPANSION_VERSION_PATCH 2 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index 9c1c65c432..015f134c71 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -5661,7 +5661,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGolbatLevelUpLearnset, .teachableLearnset = sGolbatTeachableLearnset, + #if P_GEN_2_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_CROBAT, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD})}), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -5907,8 +5909,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGloomLevelUpLearnset, .teachableLearnset = sGloomTeachableLearnset, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, - {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME} + #if P_GEN_2_CROSS_EVOS + ,{EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM} + #endif + ), }, [SPECIES_VILEPLUME] = @@ -7485,7 +7490,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPrimeapeLevelUpLearnset, .teachableLearnset = sPrimeapeTeachableLearnset, + #if P_GEN_9_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_ANNIHILAPE, CONDITIONS({IF_USED_MOVE_X_TIMES, MOVE_RAGE_FIST, 20})}), + #endif }, #if P_GEN_9_CROSS_EVOS @@ -7965,9 +7972,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPoliwhirlLevelUpLearnset, .teachableLearnset = sPoliwhirlTeachableLearnset, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, - {EVO_TRADE, 0, SPECIES_POLITOED, CONDITIONS({IF_HOLD_ITEM, ITEM_KINGS_ROCK})}, - {EVO_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH} + #if P_GEN_2_CROSS_EVOS + ,{EVO_TRADE, 0, SPECIES_POLITOED, CONDITIONS({IF_HOLD_ITEM, ITEM_KINGS_ROCK})}, + {EVO_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED} + #endif + ), }, [SPECIES_POLIWRATH] = @@ -9914,9 +9924,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sSlowpokeTeachableLearnset, .eggMoveLearnset = sSlowpokeEggMoveLearnset, .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_SLOWBRO}, - {EVO_TRADE, 0, SPECIES_SLOWKING, CONDITIONS({IF_HOLD_ITEM, ITEM_KINGS_ROCK})}, - {EVO_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}), + .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_SLOWBRO} + #if P_GEN_2_CROSS_EVOS + ,{EVO_TRADE, 0, SPECIES_SLOWKING, CONDITIONS({IF_HOLD_ITEM, ITEM_KINGS_ROCK})}, + {EVO_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING} + #endif + ), }, [SPECIES_SLOWBRO] = @@ -10191,8 +10204,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sSlowpokeGalarTeachableLearnset, .eggMoveLearnset = sSlowpokeGalarEggMoveLearnset, .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALAR}, - {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALAR}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALAR} + #if P_GEN_2_CROSS_EVOS + ,{EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALAR} + #endif + ), }, [SPECIES_SLOWBRO_GALAR] = @@ -10468,8 +10484,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMagnetonLevelUpLearnset, .teachableLearnset = sMagnetonTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_MAGNEZONE, CONDITIONS({IF_IN_MAPSEC, MAPSEC_NEW_MAUVILLE})}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_MAGNEZONE}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -11941,8 +11959,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .levelUpLearnset = sOnixLevelUpLearnset, .teachableLearnset = sOnixTeachableLearnset, .eggMoveLearnset = sOnixEggMoveLearnset, + #if P_GEN_2_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_STEELIX, CONDITIONS({IF_HOLD_ITEM, ITEM_METAL_COAT})}, {EVO_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -13616,7 +13636,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .levelUpLearnset = sLickitungLevelUpLearnset, .teachableLearnset = sLickitungTeachableLearnset, .eggMoveLearnset = sLickitungEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_LICKILICKY, CONDITIONS({IF_KNOWS_MOVE, MOVE_ROLLOUT})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -14076,8 +14098,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sRhydonLevelUpLearnset, .teachableLearnset = sRhydonTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_RHYPERIOR, CONDITIONS({IF_HOLD_ITEM, ITEM_PROTECTOR})}, {EVO_ITEM, ITEM_PROTECTOR, SPECIES_RHYPERIOR}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -14308,7 +14332,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .levelUpLearnset = sChanseyLevelUpLearnset, .teachableLearnset = sChanseyTeachableLearnset, .eggMoveLearnset = sChanseyEggMoveLearnset, + #if P_GEN_2_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_BLISSEY, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD})}), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -14451,7 +14477,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .levelUpLearnset = sTangelaLevelUpLearnset, .teachableLearnset = sTangelaTeachableLearnset, .eggMoveLearnset = sTangelaEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_TANGROWTH, CONDITIONS({IF_KNOWS_MOVE, MOVE_ANCIENT_POWER})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -14827,8 +14855,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSeadraLevelUpLearnset, .teachableLearnset = sSeadraTeachableLearnset, + #if P_GEN_2_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_KINGDRA, CONDITIONS({IF_HOLD_ITEM, ITEM_DRAGON_SCALE})}, {EVO_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -15603,9 +15633,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .levelUpLearnset = sScytherLevelUpLearnset, .teachableLearnset = sScytherTeachableLearnset, .eggMoveLearnset = sScytherEggMoveLearnset, - .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_SCIZOR, CONDITIONS({IF_HOLD_ITEM, ITEM_METAL_COAT})}, - {EVO_ITEM, ITEM_BLACK_AUGURITE, SPECIES_KLEAVOR}, - {EVO_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}), + #if P_GEN_2_CROSS_EVOS || P_GEN_8_CROSS_EVOS + .evolutions = EVOLUTION( + #if P_GEN_2_CROSS_EVOS + {EVO_TRADE, 0, SPECIES_SCIZOR, CONDITIONS({IF_HOLD_ITEM, ITEM_METAL_COAT})}, + {EVO_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR} + #if P_GEN_8_CROSS_EVOS + , + #endif + #endif + #if P_GEN_8_CROSS_EVOS + {EVO_ITEM, ITEM_BLACK_AUGURITE, SPECIES_KLEAVOR} + #endif + ), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -16115,8 +16156,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sElectabuzzLevelUpLearnset, .teachableLearnset = sElectabuzzTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_ELECTIVIRE, CONDITIONS({IF_HOLD_ITEM, ITEM_ELECTIRIZER})}, {EVO_ITEM, ITEM_ELECTIRIZER, SPECIES_ELECTIVIRE}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -16331,8 +16374,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMagmarLevelUpLearnset, .teachableLearnset = sMagmarTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_MAGMORTAR, CONDITIONS({IF_HOLD_ITEM, ITEM_MAGMARIZER})}, {EVO_ITEM, ITEM_MAGMARIZER, SPECIES_MAGMORTAR}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -17356,14 +17401,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .formChangeTable = sEeveeFormChangeTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, - {EVO_LEVEL, 0, SPECIES_SYLVEON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_KNOWS_MOVE_TYPE, TYPE_FAIRY})}, - {EVO_LEVEL, 0, SPECIES_ESPEON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_NOT_TIME, TIME_NIGHT})}, - {EVO_LEVEL, 0, SPECIES_UMBREON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_TIME, TIME_NIGHT})}, - {EVO_LEVEL, 0, SPECIES_LEAFEON, CONDITIONS({IF_IN_MAP, MAP_PETALBURG_WOODS})}, + {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON} + #if P_GEN_6_CROSS_EVOS + ,{EVO_LEVEL, 0, SPECIES_SYLVEON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_KNOWS_MOVE_TYPE, TYPE_FAIRY})} + #endif + #if P_GEN_2_CROSS_EVOS + ,{EVO_LEVEL, 0, SPECIES_ESPEON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_NOT_TIME, TIME_NIGHT})}, + {EVO_LEVEL, 0, SPECIES_UMBREON, CONDITIONS({IF_MIN_FRIENDSHIP, FRIENDSHIP_EVO_THRESHOLD}, {IF_TIME, TIME_NIGHT})} + #endif + #if P_GEN_4_CROSS_EVOS + ,{EVO_LEVEL, 0, SPECIES_LEAFEON, CONDITIONS({IF_IN_MAP, MAP_PETALBURG_WOODS})}, {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_LEAFEON}, {EVO_LEVEL, 0, SPECIES_GLACEON, CONDITIONS({IF_IN_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM})}, - {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON}), + {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON} + #endif + ), }, #if P_GIGANTAMAX_FORMS @@ -18102,8 +18154,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPorygonLevelUpLearnset, .teachableLearnset = sPorygonTeachableLearnset, + #if P_GEN_2_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_PORYGON2, CONDITIONS({IF_HOLD_ITEM, ITEM_UPGRADE})}, {EVO_ITEM, ITEM_UPGRADE, SPECIES_PORYGON2}), + #endif }, #if P_GEN_2_CROSS_EVOS @@ -18178,8 +18232,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPorygon2LevelUpLearnset, .teachableLearnset = sPorygon2TeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_PORYGON_Z, CONDITIONS({IF_HOLD_ITEM, ITEM_DUBIOUS_DISC})}, {EVO_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z}), + #endif }, #if P_GEN_4_CROSS_EVOS diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 4ccf9f4278..c9b25eb813 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -1590,7 +1590,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sTogeticLevelUpLearnset, .teachableLearnset = sTogeticTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_TOGEKISS}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -2817,7 +2819,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sAipomLevelUpLearnset, .teachableLearnset = sAipomTeachableLearnset, .eggMoveLearnset = sAipomEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_AMBIPOM, CONDITIONS({IF_KNOWS_MOVE, MOVE_DOUBLE_HIT})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -3135,7 +3139,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sYanmaLevelUpLearnset, .teachableLearnset = sYanmaTeachableLearnset, .eggMoveLearnset = sYanmaEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_YANMEGA, CONDITIONS({IF_KNOWS_MOVE, MOVE_ANCIENT_POWER})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -3607,7 +3613,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sMurkrowLevelUpLearnset, .teachableLearnset = sMurkrowTeachableLearnset, .eggMoveLearnset = sMurkrowEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -3754,7 +3762,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sMisdreavusLevelUpLearnset, .teachableLearnset = sMisdreavusTeachableLearnset, .eggMoveLearnset = sMisdreavusEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -4169,7 +4179,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sGirafarigLevelUpLearnset, .teachableLearnset = sGirafarigTeachableLearnset, .eggMoveLearnset = sGirafarigEggMoveLearnset, + #if P_GEN_9_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_FARIGIRAF, CONDITIONS({IF_KNOWS_MOVE, MOVE_TWIN_BEAM})}), + #endif }, #if P_GEN_9_CROSS_EVOS @@ -4452,8 +4464,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sDunsparceLevelUpLearnset, .teachableLearnset = sDunsparceTeachableLearnset, .eggMoveLearnset = sDunsparceEggMoveLearnset, + #if P_GEN_9_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_DUDUNSPARCE_TWO_SEGMENT, CONDITIONS({IF_KNOWS_MOVE, MOVE_HYPER_DRILL}, {IF_PID_MODULO_100_GT, 0})}, {EVO_LEVEL, 0, SPECIES_DUDUNSPARCE_THREE_SEGMENT, CONDITIONS({IF_KNOWS_MOVE, MOVE_HYPER_DRILL}, {IF_PID_MODULO_100_EQ, 0})}), + #endif }, #if P_GEN_9_CROSS_EVOS @@ -4663,8 +4677,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sGligarLevelUpLearnset, .teachableLearnset = sGligarTeachableLearnset, .eggMoveLearnset = sGligarEggMoveLearnset, - .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_GLISCOR, CONDITIONS({IF_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_FANG})}, + #if P_GEN_4_CROSS_EVOS + .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_GLISCOR, CONDITIONS({IF_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_FANG})}, {EVO_ITEM, ITEM_RAZOR_FANG, SPECIES_GLISCOR, CONDITIONS({IF_TIME, TIME_NIGHT})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -5415,8 +5431,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .teachableLearnset = sSneaselTeachableLearnset, .eggMoveLearnset = sSneaselEggMoveLearnset, .formSpeciesIdTable = sSneaselFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_WEAVILE, CONDITIONS({IF_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_CLAW})}, + #if P_GEN_4_CROSS_EVOS + .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_WEAVILE, CONDITIONS({IF_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_CLAW})}, {EVO_ITEM, ITEM_RAZOR_CLAW, SPECIES_WEAVILE, CONDITIONS({IF_TIME, TIME_NIGHT})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -5579,7 +5597,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sSneaselHisuiLevelUpLearnset, .teachableLearnset = sSneaselHisuiTeachableLearnset, .formSpeciesIdTable = sSneaselFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_SNEASLER, CONDITIONS({IF_NOT_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_CLAW})}, + .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_SNEASLER, CONDITIONS({IF_NOT_TIME, TIME_NIGHT}, {IF_HOLD_ITEM, ITEM_RAZOR_CLAW})}, {EVO_ITEM, ITEM_RAZOR_CLAW, SPECIES_SNEASLER, CONDITIONS({IF_NOT_TIME, TIME_NIGHT})}), }, @@ -5800,8 +5818,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sUrsaringLevelUpLearnset, .teachableLearnset = sUrsaringTeachableLearnset, + #if P_GEN_8_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_PEAT_BLOCK, SPECIES_URSALUNA, CONDITIONS({IF_TIME, TIME_NIGHT})}, {EVO_NONE, 0, SPECIES_URSALUNA_BLOODMOON}), + #endif }, #if P_GEN_8_CROSS_EVOS @@ -6228,7 +6248,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sPiloswineLevelUpLearnset, .teachableLearnset = sPiloswineTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_MAMOSWINE, CONDITIONS({IF_KNOWS_MOVE, MOVE_ANCIENT_POWER})}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -7413,7 +7435,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sStantlerLevelUpLearnset, .teachableLearnset = sStantlerTeachableLearnset, .eggMoveLearnset = sStantlerEggMoveLearnset, + #if P_GEN_8_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_WYRDEER, CONDITIONS({IF_USED_MOVE_X_TIMES, MOVE_PSYSHIELD_BASH, 20})}), + #endif }, #if P_GEN_8_CROSS_EVOS diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index 03477ce7ca..8e52db9671 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -2754,8 +2754,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sKirliaLevelUpLearnset, .teachableLearnset = sKirliaTeachableLearnset, - .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GARDEVOIR}, - {EVO_ITEM, ITEM_DAWN_STONE, SPECIES_GALLADE, CONDITIONS({IF_GENDER, MON_MALE})}), + .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GARDEVOIR} + #if P_GEN_4_CROSS_EVOS + ,{EVO_ITEM, ITEM_DAWN_STONE, SPECIES_GALLADE, CONDITIONS({IF_GENDER, MON_MALE})} + #endif + ), }, [SPECIES_GARDEVOIR] = @@ -4240,8 +4243,10 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .levelUpLearnset = sNosepassLevelUpLearnset, .teachableLearnset = sNosepassTeachableLearnset, .eggMoveLearnset = sNosepassEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_PROBOPASS, CONDITIONS({IF_IN_MAPSEC, MAPSEC_NEW_MAUVILLE})}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_PROBOPASS}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -5967,7 +5972,9 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .levelUpLearnset = sRoseliaLevelUpLearnset, .teachableLearnset = sRoseliaTeachableLearnset, .eggMoveLearnset = sRoseliaEggMoveLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_ROSERADE}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -9738,8 +9745,10 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sDusclopsLevelUpLearnset, .teachableLearnset = sDusclopsTeachableLearnset, + #if P_GEN_4_CROSS_EVOS .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_DUSKNOIR, CONDITIONS({IF_HOLD_ITEM, ITEM_REAPER_CLOTH})}, {EVO_ITEM, ITEM_REAPER_CLOTH, SPECIES_DUSKNOIR}), + #endif }, #if P_GEN_4_CROSS_EVOS @@ -10290,8 +10299,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .levelUpLearnset = sSnoruntLevelUpLearnset, .teachableLearnset = sSnoruntTeachableLearnset, .eggMoveLearnset = sSnoruntEggMoveLearnset, - .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_GLALIE}, - {EVO_ITEM, ITEM_DAWN_STONE, SPECIES_FROSLASS, CONDITIONS({IF_GENDER, MON_FEMALE})}), + .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_GLALIE} + #if P_GEN_4_CROSS_EVOS + ,{EVO_ITEM, ITEM_DAWN_STONE, SPECIES_FROSLASS, CONDITIONS({IF_GENDER, MON_FEMALE})} + #endif + ), }, [SPECIES_GLALIE] = diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index d52858f4a8..b43a51b52f 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -10923,7 +10923,9 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .levelUpLearnset = sBisharpLevelUpLearnset, .teachableLearnset = sBisharpTeachableLearnset, + #if P_GEN_9_CROSS_EVOS .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_KINGAMBIT, CONDITIONS({IF_DEFEAT_X_WITH_ITEMS, SPECIES_BISHARP, ITEM_LEADERS_CREST, 3})}), + #endif }, #if P_GEN_9_CROSS_EVOS diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 4d7d0d8751..59e79a697c 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -2431,8 +2431,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .teachableLearnset = sApplinTeachableLearnset, .eggMoveLearnset = sApplinEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_TART_APPLE, SPECIES_FLAPPLE}, - {EVO_ITEM, ITEM_SWEET_APPLE, SPECIES_APPLETUN}, - {EVO_ITEM, ITEM_SYRUPY_APPLE, SPECIES_DIPPLIN}), + {EVO_ITEM, ITEM_SWEET_APPLE, SPECIES_APPLETUN} + #if P_GEN_9_CROSS_EVOS + ,{EVO_ITEM, ITEM_SYRUPY_APPLE, SPECIES_DIPPLIN} + #endif + ), }, [SPECIES_FLAPPLE] = @@ -6329,7 +6332,9 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggMoveLearnset = sDuraludonEggMoveLearnset, .formSpeciesIdTable = sDuraludonFormSpeciesIdTable, .formChangeTable = sDuraludonFormChangeTable, + #if P_GEN_9_CROSS_EVOS .evolutions = EVOLUTION({EVO_ITEM, ITEM_METAL_ALLOY, SPECIES_ARCHALUDON}), + #endif }, #if P_GIGANTAMAX_FORMS diff --git a/test/battle/move_effect/rage_fist.c b/test/battle/move_effect/rage_fist.c index ba8fcecc06..ed21a9097c 100644 --- a/test/battle/move_effect/rage_fist.c +++ b/test/battle/move_effect/rage_fist.c @@ -343,7 +343,7 @@ SINGLE_BATTLE_TEST("Rage Fist doesn't get increased power if Substitute is hit") } } -SINGLE_BATTLE_TEST("Rage Fist - X") +SINGLE_BATTLE_TEST("Rage Fist counter will be updated correctly after absorb move") { s16 timesGotHit[2]; diff --git a/test/test_runner.c b/test/test_runner.c index fe9a5eccb6..218061d63f 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -235,6 +235,8 @@ top: } else { + // Cost must be assigned to the test that crashed, otherwise tests will be desynched + AssignCostToRunner(); gTestRunnerState.state = STATE_REPORT_RESULT; gTestRunnerState.result = TEST_RESULT_CRASH; }