Skip to content

Latest commit

 

History

History
704 lines (683 loc) · 52.6 KB

1.8.0.md

File metadata and controls

704 lines (683 loc) · 52.6 KB

Version 1.8.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.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.
    • Specifically, we have removed the commented-out gMonIconTable table used to associate species IDs with icon images by @Bassoonian in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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.
    • 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
  • Move Refactors:

  • Learnset refactors

    • Level up learnsets can now be switched by generational config by @MartyKen in rh-hideout/pokeemerald-expansion#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:
          +#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
    • Added sUniversalMoves, a near-universal teachable move array by @Bassoonian in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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.
    • Removed previously untutorable moves from Mew's unteachable moves by @fdeblasio in rh-hideout/pokeemerald-expansion#4142
  • Ability Refactor: new struct called Ability that stores both name and description of abilities by @Bassoonian in rh-hideout/pokeemerald-expansion#3861

    • AI ability scores moved to this struct by @Bassoonian in rh-hideout/pokeemerald-expansion#3862
    • Added ability flags to replace arrays and switch statements by @cfmnephrite in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#3889
  • Type info consolidation by @fdeblasio in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#4276

🧬 General 🧬

Added

Changed

Fixed

✨ Feature Branches ✨

Incorporated @SBird1337's Dynamic Multichoices by @SBird1337 in rh-hideout/pokeemerald-expansion#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.

Incorporated @ghoulslash's Saveblock Cleansing branch by @Bassoonian in rh-hideout/pokeemerald-expansion#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.
    • 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

Changed

Fixed

🐉 Pokémon 🐉

Added

Changed

  • Made all species IDs absolute instead of relative, to avoid confusion when adding new species by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#4281
  • Moved shared Pokédex text descriptions to their own file by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#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 by @AlexOn1ine in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#4154
    • They're used to define a single type/egg group without needing to define it twice.
      -.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:
      -.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 rh-hideout/pokeemerald-expansion#4230

⚔️ Battle General ⚔️

Added

Changed

Fixed

🤹 Moves 🤹

Added

Changed

Fixed

🎭 Abilities 🎭

Added

Changed

Fixed

🧶 Items 🧶

Added

  • Added Meteorite item form change functionality for Deoxys by @kittenchilly in rh-hideout/pokeemerald-expansion#3770
  • Added item price configs by @Bassoonian in rh-hideout/pokeemerald-expansion#3834
  • Added Pokemon Box Link functionality by @kittenchilly in rh-hideout/pokeemerald-expansion#3837
  • Added Indigo Disk item data by @kittenchilly in rh-hideout/pokeemerald-expansion#3854
    • Metal Alloy
    • Stellar Tera Shard
  • Added Legends: Arceus item data by @Bassoonian in rh-hideout/pokeemerald-expansion#3825
    • Jubilife Muffin - Local specialty (Full Heal)
    • Remedy - Medicine (Potion)
    • Fine Remedy - Medicine (Super Potion)
    • Super Remedy - Medicine (Hyper Potion)
    • Aux items
    • Choice Dumpling
    • Swap Snack
    • Twice Spiced Radish
    • Pokéshi Doll
  • Berry Expansion by @Bassoonian in rh-hideout/pokeemerald-expansion#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
  • Added missing pre-Gen7 Power Item config (giving 4 EVs instead of 8) by @Bassoonian in rh-hideout/pokeemerald-expansion#3961
  • Added LGPE+ Premier Ball Bonus config by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#4191
    • Originally based off pret's tutorial, 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

Fixed

  • Fixed some ball multiplier data by @Bassoonian in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#4266

🤖 Battle AI 🤖

Added

  • Added AI_CalcMoveScore function to more easily control score increases by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3984
  • Added AI_FLAG_POWERFUL_STATUS AI flag, replacing AI_FLAG_SCREENER by @AlexOn1ine in rh-hideout/pokeemerald-expansion#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

Fixed

🧹 Other Cleanup 🧹

🧪 Test Runner 🧪

Added

Changed

Fixed

📦 Pret merges 📦

New Contributors

Full Changelog: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.7.4...expansion/1.8.0