Skip to content

Latest commit

 

History

History
294 lines (285 loc) · 23.4 KB

File metadata and controls

294 lines (285 loc) · 23.4 KB

Version 1.6.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.6.0`.

Added

General

  • Ported TheXaman's latest changes to the Debug Menu by @AsparagusEduardo in #2815
    • Arrows and ellipsis to mark submenus.
    • Added 9th scrolling option to occupy the whole screen height.
    • Combine Flags and Vars into one submenu.
      • Moved Running Shoes flag to this menu.
      • Added new window to flags/vars showing the current state and added submenu indicator.
      • Colored toggle options for specific flags that change upon toggling.
      • Added option to reset Pokédex flags to whatever is in the party and boxes.
    • New "Fill PC/Item Pocket" submenu for filling both PC and Bag Pockets.
      • Option to generate Box Mon with their own personalities/IVs.
    • Moved "CHEAT Start" option to the Utility Submenu"
    • Fixes:
      • By @AsparagusEduardo in #3223
      • By @DizzyEggg in #3317
  • Allow Cycling Through Balls in the Last Ball Used Menu by @voloved in #3039
    • Tweaks by @voloved in #3254
  • Implemented Ultra Burst by @kittenchilly in #3221
  • Config for LGPE friendship stat boost by @AsparagusEduardo in #2257
  • Added a debug menu option to hatch eggs by @LOuroboros in #3155
  • Option to run an AI vs AI battle by @DizzyEggg in #3216
    • With fixes by @DizzyEggg in #3283
  • Added missing Evolution data by @AsparagusEduardo in #3287
    • Crabrawler can now evolve into Crabominable with an Ice Stone as of SV.
    • Nosepass can now evolve into Probopass with a Thunder Stone as of LA.
  • Added Sliggoo's overworld fog evolution method by @kittenchilly in #3343
  • Overworld snow weather now summons Snow or Hail based on a config by @kittenchilly in #3241
  • Added unevolved Exp. multiplier by @kittenchilly in #3301
  • Added config to support placing Pokémon in the PC when pressing the B button by @Bassoonian in #3329
  • Added array shuffle implementation by @mrgriffin in #3097
    • Fixes/improvements by @mrgriffin in #3128

Item Effects

  • Added Generation 6 Exp. Share by @pkmnsnfrn in #3276
    • Cleanup
  • Added Exp. Charm by @kittenchilly in #3301
  • Added Gen 4+'s Enigma Berry's hold effect by @kittenchilly in #3300
  • Added config for type-boosting held item power by @kittenchilly in #3326

Move Effects

  • By @LOuroboros in #2870
    • Triple Arrows
    • Infernal Parade
    • Lunar Blessing
    • Take Heart
    • Axe Kick
  • By @AlexOn1ine in #3147
    • Spin Out
    • Make It Rain
    • Collision Course/Electro Drift
  • By @AlexOn1ine in #3178
    • Mortal Spin
    • Population Bomb
  • By @AlexOn1ine in #3297
    • Gigaton Hammer
    • Salt Cure

Move Animations

  • By @Skeli789 and @ghoulslash in #2861
    • Spirit Break
    • False Surrender
    • Isle of Armor Moves
      • Grassy Glide fix by @AlexOn1ine in #3092
    • Crown Tundra Moves
    • Legends: Arceus Moves
  • By @AlexOn1ine in #3310
    • Bitter Blade
    • Double Shock by @AlexOn1ine in #3310

Graphics

  • Added all remaining gender differences sprites by @SubzeroEclipse and @CyanSMP64 in:
  • Add new Substitute doll sprites by @kittenchilly in #3263
  • Added icon for Clear Amulet by @PacFire in #3078
    • Palette fixes by @AsparagusEduardo in #3086
  • Tera Shard icons by @AlexOn1ine @PacFire in #3307
  • A selection of mon animation frames by @Tacobell24 and @AsparagusEduardo in #3090
    • Applin, Stufful, Chewtle, Rookidee, Rolycoly, Grubbin, Turtonator, Wimpod, Jangmo-O, Pyukumuku, Dewpider, Pincurchin, Sizzlipede, Salandit families and Alolan Exeggutor.
  • Multiple Graphical Tweaks by @SonikkuA-DatH in #3127
    • Added 2nd frames to Castform, Spinda (with help by @shinydragonhunter) and Cherrim.
    • Added Castform's Pokémon HOME shiny palettes.
    • Adjusted Spheal's 2nd frame and restored vanilla Emerald's speen.

Changed

General

  • Set GEN_LATEST to GEN_9 by default by @AsparagusEduardo in #3186
  • Make -fanalyzer optional by @SBird1337 in #3265
  • Updated Big Nugget's Fling power to Gen 8+ by @AsparagusEduardo in #3296

Graphical changes

  • Adjusted Pokemon sprites and palettes - Part 1 by @CyanSMP64 in #3235
    • 0001 Bulbasaur to 0080 Slowbro

Refactors

  • Inlined fixed Point Math by @SBird1337 in #3115
    • Refactors battle damage modifier calculations to use the new functions in order to improve readability and performance.
    • Fixes by @SBird1337 in #3125
  • Refactored damage formula to match Gen5+ by @SBird1337 in #3196
    • Gamefreak often times rounds down on n.5 in their fixed point mathematics.
    • Fixed point arithmetic (multiplication) is not associative, this changes the order of operations to match the original games.
    • A lot of the damage calculation function was quite messy, some aspects were factored in at the wrong place.
    • The main damage calculation should now be clearer to read.
  • Removed Vanilla trainer structs, converted trainer data to use the custom struct by @AsparagusEduardo in #3114
  • Removed the sTMHMMoves array and made TMs/HMs read moves from their secondaryId item field by @LOuroboros in #3243
  • Converted move flags and bans into GCC bitfields by @AsparagusEduardo in #2952
    • Fixes by by @PCG06 in #3229
    • Added bitfields for moves that fail with Me First and Gravity.
    • Inverted certain logic and flags, since there are more moves that are affected by them than not.
      • Protect
      • Mirror Move
      • King's Rock
    • Assist uses Copycat's flag + the 2 additional move effects banned by it.
      • EFFECT_SEMI_INVULNERABLE
      • EFFECT_SKY_DROP
    • Made a separate config for move flag changes: B_UPDATED_MOVE_FLAGS.
    • Adds IS_MOVE_RECOIL to help recoil move checks.
    • Adds functions to account for the flags field being removed alongside TestMoveFlags and TestMoveFlagsInMoveset.
    • Adds sParentalBondBannedEffects to streamline adding new moves.
    • Unified multi-strike move flags by @AsparagusEduardo in #3126
  • Some gActiveBattler fixes by @ghoulslash in #3259
  • Got rid of the gActiveBattler variable by @DizzyEggg in #3262
  • Scale Shot now uses Multi-hit Moves' canceller by @AlexOn1ine in #3290
  • Callnative functions now take ScriptContext arguments to allow using macros with .byte fields similar to vanilla battle script functions by @ghoulslash in #3294
  • Converted some VARIOUSs to callnatives by @AsparagusEduardo in #3269
  • Refactored battle terrain text string tables and removed EFFECT_REMOVE_TERRAIN by @LOuroboros in #3247

Move animations

  • New Wood Hammer animation by @SBird1337 in #3192

Battle AI

  • Added AI delay timer by @DizzyEggg in #3302
  • Fixed AI_WhoStrikesFirst considering status priority moves when it shouldn't by @Joggel19 in #3064
  • Fixed Beat Up Gen5+ AI damage calculation by @ghoulslash in #3104
  • Improved AI switching, so it doesn't get killed on switch-in by @DizzyEggg in #3146
  • Added missing absorbing abilities to FindMonThatAbsorbsOpponentsMove by @Pawkkie in #3218
  • Prevent certain status moves when item is known + Fake Out changes by @AlexOn1ine in #3219
  • Improve AI switching with bad moves by @DizzyEggg in #3213
  • Fixed CanTargetFaintAi index issue by @AlexOn1ine in #3306
  • Transform updates AI_PARTY data by @ghoulslash in #3295
  • Greatly reduce AI lag by @DizzyEggg in #3308

Cleanup

  • Changed a lot of variables to u32 in order to speed up processes and AI
  • Simplify/Clean battle controllers code by @DizzyEggg in #3202
  • Cleaned up remaining Castform hack code by @AsparagusEduardo in #3063
  • Cleaned experience gain logic by @DizzyEggg in #3339
  • Removed debug item effect override by @DizzyEggg in #3106
  • By @AsparagusEduardo in #2952
    • Removes unused BattleScript_EffectStomp and EFFECT_FLINCH_MINIMIZE_HIT.
    • Removes unused BattleScript_FlinchEffect
    • Removes reduntant EFFECT_TWISTER which was a copy of EFFECT_FLINCH_HIT.
    • Fixes missing uses of MOVE_UNAVAILABLE in battle_ai_util.c.
    • Removed sMovesNotAffectedByStench in favor of checking for moves with Flinch chance.
    • Added EFFECT_GEOMANCY to IsTwoTurnsMove.
  • Animation script cleanup and fixes by @AsparagusEduardo in:
  • Reverted BattleMove power to u8 by @AsparagusEduardo in #3187
  • Optimize sprite.c by @mrgriffin in #3175
  • Removed unused itemId field by @AsparagusEduardo in #3293
  • Removed unused EFFECT_UNUSED_125 by @AlexOn1ine in #3290
  • Removed redundant side macros/funcs by @gruxor and @DizzyEggg in #3299
    • GET_BATTLER_SIDE (replaced by GetBattlerSide)
    • GET_BATTLER_SIDE2 (replaced by GetBattlerSide)
    • GetBattlerPosition (replaced by direct call to gBattlerPositions)
  • Added missing return in IsBattlerGrounded by @DizzyEggg in #3328
  • GetBattlerHoldEffect usage optimizations by @AsparagusEduardo in #3330

Fixed

Softlocks

  • Disabled species now default their graphics to SPECIES_NONE, preventing softlocks when trying to load graphical data for disabled species by @AsparagusEduardo in #3116
  • Fixed debug menu memory overflow when reducing PC_ITEMS_COUNT to a value below 19 by @Bassoonian in #3154
  • Fixed Ice Spinner logic causing a softlock by @LOuroboros in #3247
  • Fixed "Daycare Egg" debug option generating invalid eggs when parents in the Daycare aren't compatible or are missing by @DizzyEggg in #3335

General

  • Fixed female Basculegion missing from the cry table by @Bassoonian in #3242
  • Fixed preproc config for Diamond Storm by @LOuroboros in #3052
  • Fixed null dereferencing errors with -fanalyzer on modern by @gruxor in #3165
  • Fixed "Fill PC" debug option giving all mon Bulbasaur's moves by @AsparagusEduardo in #2815
  • Fixed some Hisuian Pokémon abilities to Gen 9 data by @AaghatIsLive in #3292

Graphics

  • Killed the bKGD invalid index warnings and fixed the bit depth of the species sprites by @LOuroboros in #3051
    • Tweaks by @AsparagusEduardo in #3205
  • Fixed item sprites with palette errors by @gruxor in #3222
  • Fixed Mega Venusaur icon to match regular Venusaur by @SubzeroEclipse in #3137
  • Fixed Wailord icon sprite by @SubzeroEclipse in #3183
  • Fixed overworld snow weather by @kittenchilly in #3241

Battle Mechanics

  • General
    • By @AsparagusEduardo in #2952
      • Fixed Stench/King's Rock interaction.
      • Fixed Wandering Spirit skipping contact checks.
    • Reset all battler IDs at battle start by @ghoulslash in #3111
    • Fixed GetBattleAnimMoveTargets logic by @ghoulslash in #3278
    • Fixed Magnet Rise animation moving the partner in double battles by @AlexOn1ine in #3280
    • Fixed Status Z-Moves' effect descriptions being cut off by @gabrielcowley in #3286
    • By @kittenchilly in #3301
      • Fixed traded Pokémon experience boost being applied twice.
      • Fixed experience calculation inaccuracies.
  • Move effects
    • Fixed ABILITYEFFECT_ON_TERRAIN setting gBattlerAbility incorrectly by @ghoulslash in #2796
    • Fixed TryChangeBattleTerrain overwriting gBattlerAttacker by @ghoulslash in #2796
    • Fixed Teatime skipping non-player Pokémon by @hetoord in #3096
    • Fixed Pursuit commands check its move ID instead of its effect ID by @LOuroboros in #3231
    • Fixed Fling issues by @DizzyEggg in #3191
      • No longer consumes the item if user is fast asleep or paralyzed.
      • When the user has no item, the "But it failed!" message no longer overwrites other messages like "X was fully paralyzed"
      • Maranga and Kee Berries have their effects when being flung.
    • Fixed Leppa Berry not recovering PP when being eaten by Bug Bite by @DizzyEggg in #3282
    • Fixed Seed Sower in Double Battles by @ghoulslash in #2796
    • Fixed Seed Sower changing move targets when triggered in double battles by @DizzyEggg in #3341
    • Fixed Protect issues by @DizzyEggg in #3321
      • Recoil moves no longer cause recoil damage if the target protected
      • Fixed Multi-hit moves being able to hit a protected target past the first hit.
      • Fixed Multi-hit moves decreasing speed on each hit when the target uses Silk Trap.
  • Ability effects
    • Fixed potential bug with weather and terrain ABILITYEFFECT ids by @ghoulslash in #3083
    • Fixed Battle bond not triggering when KOing an ally by @DizzyEggg in #3279
    • Fixed Toxic Debris issues that other effects to not trigger by @AlexOn1ine in #3306
    • Fixed Toxic Debris not being able to set up 2 layers of Toxic Spikes by @AlexOn1ine in #3306
    • Fixed Toxic Debris not triggering when user faints by @AlexOn1ine in #3323
  • Item effects
    • Fixed Metronome's damage multiplier by @SBird1337 in #3246

Test Runner

General

  • Fixed tests breaking on modern by @DizzyEggg in #3319

Tests added for:

  • Move Effects
    • By @LOuroboros in #2870
      • Axe Kick
      • Infernal Parade
      • Take Heart
      • Triple Arrows
    • Teatime by @hetoord in #3096
    • By @AlexOn1ine in #3147
      • Spin Out
      • Make It Rain
      • Collision Course/Electro Drift
    • By @AlexOn1ine in #3178
      • Mortal Spin
      • Population Bomb
    • Fling by @DizzyEggg in #3191
      • Leppa Berry interaction by @DizzyEggg in #3282
    • Bug Bite by @DizzyEggg in #3282
    • Multi-hit moves by @AlexOn1ine in #3290
    • Protect by @DizzyEggg in #3321
      • Fixed Protect tests failing on upcoming by @DizzyEggg in #3348
  • Item Effects
    • Metronome by @SBird1337 in #3246
    • Status-curing berries by @AlexOn1ine in #3289
    • Gen 4+ Enigma Berry by @kittenchilly in #3300
      • Fling/Bug Bite interaction by @DizzyEggg in #3311
  • Ability Effects
    • Battle bond by @DizzyEggg in #3279
    • Toxic Debris by @AlexOn1ine in #3306
      • Additional test by @AlexOn1ine in #3323

Pret merges:

  • Pret merge (2023/08/31) by @AsparagusEduardo in #3268
    • VAR_TEMP aliases
    • TM and HM item constants by their move name without numbers.
    • Stat change documentation.
    • Factory Menu + Dome Tourney documentation.
    • Berry Fix Documentation.
    • Missing uses of DISPLAY_WIDTH and DISPLAY_HEIGHT.
    • Static assertion for Battle Palace Flags.
    • Static assertion for Rotating Gates.
    • Automatic increase of TEXT_BUFF_ARRAY_COUNT and POKEMON_NAME_BUFFER_SIZE.
    • Proper bravoTrainerTower documentation.
    • Birth Island Rock documentation.
    • 6 new bugfixes.
  • Pret merge (2023/09/26) by @AsparagusEduardo in #3347
    • Add include guards for assembly constants files
    • Add blockBoxRS field to BoxPokemon struct
    • Bugfix for abilities affecting wild encounter tables
      • Fixes a potential buffer overread in TryGetAbilityInfluencedWildMonIndex. The bug can occur if an electric type mon is in the first slots of a fishing encounter table and the player carries a mon with the ABILITY_STATIC ability. This never happens in the vanilla codebase.
    • Add missing constant usage in m4a_1

New Contributors

  • @Joggel19 made their first contribution in #3064
  • @PacFire made their first contribution in #3078
  • @CyanSMP64 made their first contribution in #3149
  • @PCG06 made their first contribution in #3229
  • @gabrielcowley made their first contribution in #3286

Full Changelog: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.5.3...expansion/1.6.0