2025-05-30 20:53:32 +02:00

52 KiB

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

🌋 REFACTORS 🌋

📜 = Uses a migration script.

  • Minor Recoil Effect refactor by @AlexOn1ine in #6409
  • Refactor HasWeatherEffect and IsUnnerveAbilityOnOpposingSide by @AlexOn1ine in #6441
  • Refactor the function IsAbilityPreventingEscape by @AlexOn1ine in #6439
  • Unifies dynamic move category checks by @AlexOn1ine in #6443
  • Refactors faint target abilities and adds Battle Bond config by @AlexOn1ine in #6519
  • Refactor protect to allow at least 126 different types of protect eff… by @AlexOn1ine in #6506
  • Refactor / Simlify Cmd_adjustdamage and remove redundancy by @AlexOn1ine in #6499
  • Refactors Move absorb / block function calls to remove redundancy by @AlexOn1ine in #6490
  • Refactor fixed damage moves by @AlexOn1ine in #6449
  • EndTurnEffectOrder Refactor by @AlexOn1ine in #6224
  • Refactor hit escape moves to use moveend by @AlexOn1ine in #6671
  • 📜 Evolution Refactor by @khbsd, @AsparagusEduardo for everything he did, including #6530! and @AlexOn1ine for writing the migration script! in #6556
    • make sure to back up your alcremie evolution data if you have it implemented already: pulling this will overwrite it
  • Centralizes non volatile status effect checks by @AlexOn1ine in #6533
  • Refactor battler flee and watch options + clean up by @AlexOn1ine in #6724
  • Refactor AI flags to u64 by @Pawkkie and @DizzyEggg, @AlexOn1ine, @hedara90 in #6753
  • Refactor battler message ids by @AlexOn1ine in #6765
  • Refactor stockpile resets by @AlexOn1ine in #6810
  • Move out ai structs out of BattleResources by @AlexOn1ine in #6741
  • Consolidates a bunch of battle controller functions by @Bassoonian in #6838
  • Further moveend changes (move blocks) by @AlexOn1ine in #6820
  • Added weather accuracy move flags by @AsparagusEduardo in #6857
    • Removed EFFECT_THUNDER, EFFECT_BLIZZARD and EFFECT_RAIN_ALWAYS_HIT effects in favor of alwaysHitsInRain, alwaysHitsInHailSnow and accuracy50InSun move flags.
  • Remove non-volatile status EFFECTs by @AsparagusEduardo in #6772
  • 📜 Remove compressed palettes by @hedara90 in #6455
    • All handling for compressed palettes has been removed, use u16 * for palettes instead.
    • Has migration script to convert palettes to u16, struct SpritePalette and palette loading calls from their compressed variants.

🧬 General 🧬

Added

  • Low Health Beeps Configuration by @khbsd in #6328
  • Adds SHOW_TYPES_SEEN to the B_SHOW_TYPES option by @khbsd in #6561
    • this slightly alters how the flag FLAG_GET_SEEN is set, so keep that in mind if you have any functionality that relies on it being at the start of the battle.
  • Type Effectiveness Indicators when selecting moves by @agsmgmaster64 in #6559
  • FakeRtc datetime and ResetRtcScreen day increments by @cawtds in #5695
  • Battle Transition: mugshots for multibattles by @grintoul1 and @AlexOn1ine for advice on simplifying the conditions that check for 2nd opponent and presence of battle partner, and general advice/troubleshooting in #6567
  • Time menu for RTC in debug menu. by @RubyRaven6, @cawtds for RTC refactors that makes all of this easier, @HashtagMarky for helping me understand how the debug menu works, especially with destroying menus, @zetraphes, for helping with refactoring the redundant functions into a single function. and @makosear for originally getting me into the RTC hellhole in #6634
    • In order to apply the new time the map is reloaded through The LoadMap Callback (CB2_LoadMap). As such, this will also do everything else that comes with loading map in.
  • Pokedex Plus HGSS move configs by @PCG06 in #6687 Adds three configs for Pokedex Plus HGSS.
    • To sort TM moves by num.
    • To show egg moves for evolved Pokémon.
    • Creating a dynamic tutor moves array to use for tutor moves counting.
  • Allow different flags for Badge boost by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in #6805
  • Timemacros by @RubyRaven6 in #6696

Changed

  • Rename absentBattlerFlags to absent by @AlexOn1ine in #6432
  • Removed unused debug EWRAM variables by @hedara90 in #6468
  • Removes unused Special Status members by @AlexOn1ine in #6479
  • Remove potential pitfall with saved damage for recoil moves by @AlexOn1ine in #6485
  • Add CONTRIBUTING.md and STYLEGUIDE.md by @pkmnsnfrn and @Pawkkie, @garakmon in #6340
  • Alcremie Evolution clean up follow up by @AlexOn1ine in #6557
  • Fix broken links in merge_checklist.md by @pkmnsnfrn and @grintoul1 in #6570
  • Converts some defines to enums by @Bassoonian in #6592
  • Removes vestigial EWRAM variable from debug menu. by @RubyRaven6 in #6686
  • Keep Steven Multi Debug Option at the Bottom Forever by @Pawkkie in #6694
  • Better handling of battle coords by @AsparagusEduardo and @ghoulslash, @klemniops for the original code. in #6787
  • battle_main enum cleanup by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in #6788
  • Add missing uses of IsBattlerAlly by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in #6793
  • Adds partyState to BattleStruct by @AlexOn1ine in #6783
  • Rename GetPartyBattlerData to GetBattlerMon by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in #6800
  • Added JSON as the preferred data format by @hedara90 in #6801
  • Remove non-existent functions from header files by @Bassoonian in #6825
  • Added IsOnPlayerSide by @AsparagusEduardo in #6832
  • Battle TV expansion by @AsparagusEduardo in #6826
  • Prevent scaninc touching tests when make-ing non-test builds by @mudskipper13 in #6812
  • Reword move and ability descriptions to improve clarity by @jfb1337 in #6861
    • Updated move and ability descriptions to increase clarity.
  • Optimized PokemonUseItemEffects function by @AsparagusEduardo in #6878
  • Expand trainerproc to support additional battle types by @AsparagusEduardo in #6770
  • Debug menu cleanup by @AsparagusEduardo in #6881
  • Commenting in config files to explain limits of map popups and wild AI flags by @surskitty in #6923
  • Documented usage of createsprite gSimplePaletteBlendSpriteTemplate by @AsparagusEduardo in #6956
  • Documented usage of createsprite gDirtPlumeSpriteTemplate by @AsparagusEduardo in #6954
  • Updated CONTRIBUTING.md and Merge Freeze definition by @pkmnsnfrn in #6952
  • Documented usage of createsprite gBasicHitSplatSpriteTemplate by @AsparagusEduardo in #6950
  • Documented usage of createsprite gSparkElectricitySpriteTemplate by @AsparagusEduardo in #6955
  • Documented usage of createsprite gSlideMonToOffsetSpriteTemplate by @AsparagusEduardo in #6953
  • Remove trailing whitespace by @AsparagusEduardo in #6968
  • Beefing up the DNS tutorial for some of the common questions/errors. by @surskitty in #6922
  • Clarifies when to use each merge type for maintainers by @pkmnsnfrn in #6999
  • Moved time constants to dedicated files by @pkmnsnfrn in #7019

Fixed

  • fix: missing break statement by @khbsd in #6572
  • Fix dynamax message by @hedara90 in #6589
  • Fix pc mon pic by @hedara90 in #6709
  • Fixed upcoming not compiling in gcc 11.4.0 by @AsparagusEduardo in #6710
  • Fix the Move Item option in the PC still expecting compressed palettes by @hedara90 in #6739
  • Fix upcoming compile by @AsparagusEduardo in #6804
  • Added missing root folder check in trainer battle type migration script by @AsparagusEduardo in #6944
  • Fixed forfeit money for B_WHITEOUT_MONEY <= GEN_3 by @AsparagusEduardo in #6942
  • Fix UB when using time menu by @cawtds in #7023

🗺️ Overworld 🗺️

Added

  • Add OW_DEFOG_FIELD_MOVE to allow players to clear overworld Fog by @pkmnsnfrn in #6477 This behavior is enabled by setting OW_DEFOG_FIELD_MOVE to TRUE.
  • Add Time-Based Encounters by @khbsd and @Pawkkie, @Artrios, @GriffinRichards, @ravepossum, @ghoulslash, @lhearachel probably more so tag me somewhere and ill add you! in #6454
    • Comes with a new conversion script, wild_encounters_to_header.py. On my machine i timed it out to about .02s, hopefully it wont add too much to the compile time on anyone elses computers
    • The conversion script can handle an unchanged wild_encounters.json just fine, but also plays nice with edited ones as far as I can tell
    • The migration script takes one optional argument, --copy
    • --copy will copy over all of the encounter tables (land_mons, water_mons, etc). default behavior just adds the base_label and if applicable, the map.
  • Add B_RUN_TRAINER_BATTLE - players can run from Trainer Battles by @pkmnsnfrn and @wiz1989 wrote the original feature. in #6456
  • Integrated merrp's lighting branch (Day/Night System) by @hedara90, @AsparagusEduardo for doing most of this PR and @aarant for the original implementation and feature branch, @Greenphx9 for their help merging to current expansion. in #6562
    • Changes from the base branch:
    • Uses Expansion's Fake RTC and updates its tinting refresh rate alongside with it.
    • Uses Expansion's constants (TIME_NIGHT instead of TIME_OF_DAY_NIGHT). This allows it to:
    • Use different tinting for Morning vs Evening compared to the original branch.
    • Use Expansion's OW_TIMES_OF_DAYconfig that allows users to set their own times by generation.
    • Added option to disable object event shadows
    • Added option to turn DNS on or off, OW_ENABLE_DNS
    • Added option to for vanilla shadow behaviour, OW_OBJECT_VANILLA_SHADOWS
    • Scripts containing consecutive removeobject <object> and addobject