Skip to content

Latest commit

 

History

History
599 lines (583 loc) · 49.6 KB

1.7.0.md

File metadata and controls

599 lines (583 loc) · 49.6 KB

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 🌋

  • We have enabled -Werror -Wall in the Makefile. These flags show warnings for undefined behaviors in the old compiler (agbcc), and sets all warnings as errors. As such, we have updated the codebase so that all warnings that gcc 13 throws are handled:
  • Modern compiler may raise the following errors for code introduced from outside the expansion, so we recommend solving those errors:
    • unused-function. To solve it, add UNUSED to the function definition.
      -static void Function(void)
      +static void UNUSED Function(void)
    • unused-variable. To solve it, remove the unused variable.
      static void Function(void)
      {
      -   u8 unused;
          u8 used;
      ...
    • unused-but-set-variable. To solve it, add UNUSED to the variable definition.
      static void Function(void)
      {
      -   u8 unused;
      +   u8 UNUSED unused;
          u8 used;
          unused = DoSomething();
      ...
  • Updated modern compiler install instructions by @hedara90 in rh-hideout/pokeemerald-expansion#3527
  • You may still use agbcc by adding agbcc to your make command to finish the update process before fixing these errors.
    • eg. make -j8 agbcc.
    • We may drop support for it in the future, so we recommend updating the code to support the new compilers.
    • This will generate pokeemerald_agbcc.gba, while modern will generate pokeemerald.gba by @Bassoonian in rh-hideout/pokeemerald-expansion#3462

🧬 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 rh-hideout/pokeemerald-expansion#3729
    • Fixes and cleanup
  • Updated P_UPDATED_ABILITIES Gen 9's config for Piplup's line, Gallade and Shiftry by @Bassoonian in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#3458
  • Applied missing uses of PLACEHOLDER_ANIM_SINGLE_FRAME by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#3562
  • Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#3562
  • Removed Old Unown Level Up Learnsets by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#3369

Fixed

  • Fixed Koffing and Weezing's abilities ignoring P_UPDATED_ABILITIES config and always using Gen8's config by @Bassoonian in rh-hideout/pokeemerald-expansion#3353
  • Fixed Pumpkaboo macro typo by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3541
  • Multiple fixes by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#3544
    • Fixed Mega Gardevoir/Gallade not having their updated Egg Groups.
    • Fixed mon not having their appropiate items.
      • Alolan Sandlash (Grip Claw, Rare)
      • Alolan Muk (Black Sludge, Common)
      • Alolan Golem (Cell Battery, Common)
      • Alolan Marowak (Thick Club, Rare)
      • Alolan Ninetales (Snowball, Rare)
    • Fixed missing species flags.
      • Giratina Origin (Legendary flag)
      • Deoxys Attack (Mythical flag)
      • Deoxys Defense (Mythical flag)
      • Deoxys Speed (Mythical flag)
      • Shaymin Sky (Mythical flag)
    • Fixed Aegislash Blade giving the wrong EV yield.
    • Fixed Zygarde 10% with Power Construct having the same stats as Zygarde 50%.
    • Fixed Galarian Weezing having inproper noFlip property.
  • Fixed Stantler not evolving when P_GEN_9_POKEMON is set to FALSE by @fdeblasio in rh-hideout/pokeemerald-expansion#3548
  • Fixes Hisuian Sneasel's type order by @Bassoonian in rh-hideout/pokeemerald-expansion#3706

⚔️ Battle General ⚔️

Added

Changed

  • Removed redundant Battle Types by @AgustinGDLV in rh-hideout/pokeemerald-expansion#2417
    • BATTLE_TYPE_KYOGRE_GROUDON
    • BATTLE_TYPE_REGI
    • BATTLE_TYPE_GROUDON
    • BATTLE_TYPE_KYOGRE
    • BATTLE_TYPE_RAYQUAZA
    • Intros, terrain and music determined by the species itself.
      • Regigigas, Regieleki and Regidrago play MUS_VS_REGI.
  • Converted most battle preproc #if blocks to C ifs by @AsparagusEduardo in rh-hideout/pokeemerald-expansion#3392
  • Removed pointless for loop in CB2_InitBattleInternal by @LOuroboros in rh-hideout/pokeemerald-expansion#3422
  • Refactored Battle Frontier bans to check the base species by @Bassoonian in rh-hideout/pokeemerald-expansion#3465
    • Better support for adding new species.
    • Also adds Gen4+ Special Pokémon to the list.
  • Obedience levels now increase per badge by @kittenchilly in rh-hideout/pokeemerald-expansion#3475
    • Also sets B_OBEDIENCE_MECHANICS's default config to GEN_LATEST, where obedience restrictions also apply to non-outsider Pokémon, albeit based on their level met rather than actual level.
    • Thanks to combination of the added obedience levels matching ORAS' with vanilla Emerald's encounter levels, there's not a single instance were players need to worry about caught Pokémon not obeying as soon as they are caught.
  • Decoupled Affection values from Friendship rater thresholds, making them occur less often than what they used to by @kittenchilly in rh-hideout/pokeemerald-expansion#3495
    • Because of the lessened frequency, they have been turned on by default.
  • Added HITMARKER_DISABLE_ANIMATION to temporarily disable animations (used in Bug Bite's berry consumption) by @ghoulslash in rh-hideout/pokeemerald-expansion#3607

Fixed

🤹 Moves 🤹

Added

Changed

  • Added B_EXTRAPOLATED_MOVE_FLAGS config to extend move flag for moves removed in Gen8+.
    • Razor Wind, Silver Wind and Ominous Wind are given the windMove flag.
    • Dynamax Cannon, Behemoth Blade and Behemoth Blade are given the assistBanned flag.
    • Bitter Blade and Matcha Gotcha are given the healBlockBanned flag.
  • Added new move flags by @kittenchilly in rh-hideout/pokeemerald-expansion#3425
    • twoTurnMove (replaces IsTwoTurnsMove)
    • forcePressure (for self-targeted moves that are affected by Pressure)
    • cantUseTwice (replaces EFFECT_GIGATON_HAMMER)
    • healBlockBanned (replaces an EFFECT_x switch in IsHealBlockPreventingMove)
    • encoreBanned (replaces if chain in Cmd_trysetencore)
    • assistBanned (originally used copycatBanned + EFFECT_SEMI_INVULNERABLE and EFFECT_SKY_DROP)
    • parentalBondBanned
  • Updated missing move flags for every move by @kittenchilly in rh-hideout/pokeemerald-expansion#3425
  • Updated Grassy Glide's power from 60 to 55 when B_UPDATED_MOVE_DATA is set to GEN_9 or later (Teal Mask) by @kittenchilly in rh-hideout/pokeemerald-expansion#3425
  • Simplified Octolock script and converted its various to callnative by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3437
  • Added CanAbilityPreventStatLoss to centralize stat lowering immunities by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3437
    • Fixed multiple abilities not showing the ability name in their message.
  • Renamed EFFECT_SMELLINGSALT to EFFECT_SMELLING_SALTS by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3504
  • New move animations by @Captain-Ford and @AlexOn1ine in rh-hideout/pokeemerald-expansion#3529
    • Phantom Force
    • Trick or Treat
    • Acrobatics
    • Head Smash
    • Psyshock
    • Charge Beam
  • Plasma Fists now setup STATUS_FIELD_ION_DELUGE instead of having their own STATUS4 by @AlexOn1ine in rh-hideout/pokeemerald-expansion#3476
  • Battle Dome points are now based on move data instead of being arbitrarily assigned by @Bassoonian in rh-hideout/pokeemerald-expansion#3596

Fixed

🎭 Abilities 🎭

Added

Changed

Fixed

🧶 Items 🧶

Added

Changed

  • Removed unused holdEffectParam for items that double the amount of money gained in battle by @LOuroboros in rh-hideout/pokeemerald-expansion#3528
  • Using the name Parcel instead of Oak's Parcel by @Bassoonian in rh-hideout/pokeemerald-expansion#3580
  • Repel/Lure menu improvements @Jaizu and @pkmnsnfrn in rh-hideout/pokeemerald-expansion#3594
    • If VAR_LAST_REPEL_LURE_USED is enabled and a spray runs out:
      • It will show the name of the spray that ran out.
      • If it was the last item of its type and strength, it will ask the player if they want to use a different one of the same type.
    • B can now be pressed to cancel the menu.

Fixed

🤖 Battle AI 🤖

  • Added AI Tests
    • By @DizzyEggg in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#3515
      • AI won't use Solar Beam if there is no Sun up or the user is not holding Power Herb.
    • By @AlexOn1ine in rh-hideout/pokeemerald-expansion#3583
      • AI chooses moves with secondary effect that have a 100% chance to trigger
    • Cleanup by @DizzyEggg in rh-hideout/pokeemerald-expansion#3748
  • Smarter SwitchAI Mon Choices + HasBadOdds Switch Check by @Pawkkie in rh-hideout/pokeemerald-expansion#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 rh-hideout/pokeemerald-expansion#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