Version 1.7.0

## 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.7.0`.

🌋 IMPORTANT CHANGES 🌋

The Expansion now uses Modern compilers by default

🧬 General 🧬

Added

Changed

Fixed

🐉 Pokémon 🐉

Added

Changed

  • Species Simplifier™ (Parts 1, 2 and 3)
    • Moved most data from multiple arrays to new fields in gSpeciesInfo
      • gSpeciesNames array -> speciesName field.
      • gLevelUpLearnsets array -> levelUpLearnset field.
      • gTeachableLearnsets array -> teachableLearnset field.
      • gEvolutionTable array -> evolutions field.
      • gFormSpeciesIdTables array -> formSpeciesIdTable field.
      • gFormChangeTablePointers array -> formChangeTable field.
      • Refactored Cry tables to simplify the process of adding new cries.
        • Now there's a single entry in the table per cry, and species are asigned cry IDs in gSpeciesInfo's cryId field.
      • Graphical data now have their pointers in gSpeciesInfo (Sprites, palettes and animations)
        • Removed all files in src/data/pokemon_graphics/ with the exception of front_pic_anims.h.
          • gMonBackPicCoords array -> backPicSize field.
          • gMonBackPicTable array -> backPic field.
            • gMonBackPicTableFemale array -> backPicFemale field.
          • gMonFrontPicCoords array -> frontPicSize field.
          • gMonFrontPicTable array -> frontPic field.
            • gMonFrontPicTableFemale array -> frontPicFemale field.
          • gMonPaletteTableFemale array -> palette field.
            • gMonPaletteTableFemale array -> paletteFemale field.
          • gMonShinyPaletteTable array -> shinyPalette field.
            • gMonShinyPaletteTableFemale array -> shinyPaletteFemale field.
          • gEnemyMonElevation array -> enemyMonElevation field.
          • gMonIconPaletteIndices array -> iconPalIndex field.
            • gMonIconPaletteIndicesFemale array -> iconPalIndexFemale field.
        • Removed unused 2nd animations.
      • Dex Entries
        • Individual form information is visible in the HGSS Pokédex (Vanilla Dex TBD)
        • National Dex numbers are assigned to the species in gSpeciesInfo, removing the need of sSpeciesToHoennPokedexNum and sSpeciesToNationalPokedexNum arrays.
        • Height and Weight are now saved separately per form, so weight in battle is now more accurate.
          • Pokédex size page proportions are also separate.
        • Pokédex descriptions are now saved as compound strings in gSpeciesInfo and differ by form. Shared entries are at the top of src/data/pokemon/species_info.h.
    • Added toggles to disable specific family groups of species
      • Located in include/config/species_enabled.h.
        • Moved the original P_GEN_x_POKEMON configs to this file.
      • Options to disable groups of species:
        • Battle-gimmick forms (Megas, Primals, etc.)
        • Regional Forms (Includes evolutions of those species, such as Sirfetch'd)
        • Pikachu extra forms.
        • Cross-Generation Evolutions
          • Also added separate option to add cross-evolutions to the Regional Dex.
      • Generation 1-3 families can now be disabled.
      • Pokémon will not evolve into species that have been disabled.
      • Pokémon will produce offspring of species that have been disabled.
      • Pokémon will not change form into forms that have been disabled.
      • Fixes and cleanup
    • Grouped data by species family.
    • Converted species flags to gcc flags.
    • Converted P_UPDATED_STATS "ifdef blocks" to ternaries.
    • Added Mega Evolution hidden ability failsafes.
    • Separated gSpeciesInfo by Generation by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3729
    • Fixes and cleanup
  • Updated P_UPDATED_ABILITIES Gen 9's config for Piplup's line, Gallade and Shiftry by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3353
    • Shiftry's 2nd regular ability was changed from Early Bird to Wind Rider.
    • Piplup, Prinplup and Empoleon's Hidden abilities were changed from Defiant to Competitive.
    • Gallade was given Sharpness as a 2nd regular ability.
  • Updated Legends Arceus Pokémon data and Level Up learnsets to Scarlet/Violet's by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3458
  • Applied missing uses of PLACEHOLDER_ANIM_SINGLE_FRAME by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
  • Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
  • Removed Old Unown Level Up Learnsets by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
  • Added FORM_CHANGE_TIME_OF_DAY form change that automatically changes Form during times of day (used by Shaymin to revert to Land Forme at night) by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/1690
  • Added FORM_CHANGE_STATUS form change that triggers when they adquire status condition (used by Shaymin to revert to Land Forme when frozen) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3734
    • Currently it doesn't:
      • Prevent Shaymin from changing into Sky Forme when frozen.
      • Change Form in the Battle Pike.
  • Evolutions now call for GetTimeOfDay instead of checking the times directly by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3369

Fixed

⚔️ Battle General ⚔️

Added

Changed

Fixed

🤹 Moves 🤹

Added

Changed

Fixed

🎭 Abilities 🎭

Added

Changed

Fixed

🧶 Items 🧶

Added

Changed

Fixed

🤖 Battle AI 🤖

  • Added AI Tests
    • By @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3361
      • AI prefers Bubble over Water Gun if it's slower (both are power 40).
      • AI prefers Water Gun over Bubble if it knows that foe has Contrary.
      • AI prefers moves with better accuracy, but only if they both require the same number of hits to KO.
      • AI prefers moves which deal more damage instead of moves which are super-effective but deal less damage.
      • AI prefers Earthquake over Drill Run if both require the same number of hits to KO.
      • AI chooses the safest option to faint the target, taking into account accuracy and move effect.
      • AI won't use ground type attacks against flying type Pokémon unless Gravity is in effect.
      • AI will not switch in a Pokémon which is slower and gets 1HKOed after fainting.
      • AI switches if Perish Song is about to kill.
      • AI won't use a Weather changing move if partner already chose such move.
      • AI will not use Helping Hand if partner does not have any damage moves.
      • AI will not use a status move if partner already chose Helping Hand.
      • AI without any flags chooses moves at random.
    • By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3382
      • AI prefers a weaker moves over one with a downside effect if both require the same number of hits to KO.
      • AI prefers moves with the best possible score, chosen randomly if tied.
      • AI can choose a status move that boosts the attack by two.
    • By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3515
      • AI won't use Solar Beam if there is no Sun up or the user is not holding Power Herb.
    • By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3583
      • AI chooses moves with secondary effect that have a 100% chance to trigger
    • Cleanup by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3748
  • Smarter SwitchAI Mon Choices + HasBadOdds Switch Check by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/3253
    • Use AI_FLAG_SMART_MON_CHOICES to enable smarter decisions when choosing which mon gets sent out
    • HasBadOdds expands AI_FLAG_SMART_SWITCHING to switch out in cases where a mon has a bad matchup and lots of HP remaining
  • Extend AI_FLAG_SMART_SWITCHING for Encore / hazards / lowered attacking stats + Tests by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/3557

Changed

Fixed

🧹 Other Cleanup 🧹

🧪 Test Runner 🧪

Added

Changed

Fixed

📦 Pret merges 📦

New Contributors

Full Changelog: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.6.2...expansion/1.7.0