52 KiB
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_BLIZZARDandEFFECT_RAIN_ALWAYS_HITeffects in favor ofalwaysHitsInRain,alwaysHitsInHailSnowandaccuracy50InSunmove flags.
- Removed
- 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 SpritePaletteand palette loading calls from their compressed variants.
- All handling for compressed palettes has been removed, use
🧬 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_SEENis set, so keep that in mind if you have any functionality that relies on it being at the start of the battle.
- this slightly alters how the flag
- 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_mainenum cleanup by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in #6788- Add missing uses of
IsBattlerAllyby @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
GetPartyBattlerDatatoGetBattlerMonby @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
IsOnPlayerSideby @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
PokemonUseItemEffectsfunction 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 gSimplePaletteBlendSpriteTemplateby @AsparagusEduardo in #6956 - Documented usage of
createsprite gDirtPlumeSpriteTemplateby @AsparagusEduardo in #6954 - Updated CONTRIBUTING.md and Merge Freeze definition by @pkmnsnfrn in #6952
- Documented usage of
createsprite gBasicHitSplatSpriteTemplateby @AsparagusEduardo in #6950 - Documented usage of
createsprite gSparkElectricitySpriteTemplateby @AsparagusEduardo in #6955 - Documented usage of
createsprite gSlideMonToOffsetSpriteTemplateby @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_3by @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_MOVEtoTRUE. - 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.jsonjust fine, but also plays nice with edited ones as far as I can tell - The migration script takes one optional argument,
--copy --copywill copy over all of the encounter tables (land_mons,water_mons, etc). default behavior just adds thebase_labeland if applicable, themap.
- Comes with a new conversion script,
- 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_NIGHTinstead ofTIME_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> andaddobject