Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion

This commit is contained in:
Bassoonian 2023-12-23 00:39:10 +01:00
commit db0a9484ae
481 changed files with 109974 additions and 121576 deletions

View File

@ -23,15 +23,12 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.6.2 (Default)
- 1.7.0 (Default)
- upcoming (Edge)
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- pre-1.5.0
- pre-1.6.0
validations:
required: true
- type: input

View File

@ -23,15 +23,12 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.6.2 (Default)
- 1.7.0 (Default)
- upcoming (Edge)
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- pre-1.5.0
- pre-1.6.0
validations:
required: true
- type: input

View File

@ -23,15 +23,12 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.6.2 (Default)
- 1.7.0 (Default)
- upcoming (Edge)
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- pre-1.5.0
- pre-1.6.0
validations:
required: true
- type: input

View File

@ -11,6 +11,9 @@
<!-- Format: "Fixes #2345, fixes #4523, fixes #2222." -->
<!-- If it doesn't apply, feel free to remove this section. -->
## Feature(s) this PR does NOT handle:
<!-- If your PR contains any unfinished features that are not considered merge-blocking, please list them here for clarity so no one can forget. -->
## **Discord contact info**
<!--- formatted as name#numbers, e.g. Lunos#4026 -->
<!--- Contributors must join https://discord.gg/6CzjAG6GZk -->
<!--- Contributors must join https://discord.gg/6CzjAG6GZk -->

1
.gitignore vendored
View File

@ -21,7 +21,6 @@ sound/**/*.bin
sound/songs/midi/*.s
tools/agbcc
*.map
*.ld
*.bat
*.dump
*.sa*

View File

@ -1,122 +1,5 @@
# Pokeemerald-Expansion Changelog
# Pokeemerald-Expansion Changelogs
# Version 1.6.2
## [Version 1.7.0](docs/changelogs/1.7.0.md) - Feature Release
## 🌋 *IMPORTANT CHANGES* 🌋
### Battle changes
* Battler Types are now obtained via `GetBattlerType` instead of `gBattleMons[battlerId].type1/2/3` to better consider Roost. Be sure to update your custom battle effects to account for this change.
## 🧬 General 🧬
### Fixed
* Fixed Cheat Start not initiating time-based events by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3446
## 🐉 Pokémon 🐉
### Changed
* Updated Cresselia's base stats to Gen 9 by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3419
* Updated Zacian/Zamazenta base stats to Gen 9 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3421
### Fixed
* Fixed Kleavor, Hisuian Sneasel and Sneasler missing their SV abilities by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3391
* Fixed Bergmite/Avalugg old and updated egg groups being switched by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3380
## 🤹 Moves 🤹
### Changed
* Quick Draw now uses weighted RNG by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Added `IS_BATTLER_TYPELESS` macro that checks if the specified battler has no valid type by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3303
### Fixed
* Fixed Protect failing if the user flinched on the previous turn by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3345
* Fixed entry hazards not working properly being cleared on switch-in by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3316
* This includes Toxic Spikes not working if Pecha Berry actived on the previous turn.
* Fixed Roost overwriting other type changing at the end of the turn (Soak, Forest's Curse, Color Change, etc.) by @BLourenco in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
* Now it suppresses the user's Flying-type rather than remove and re-add it.
* Fixes Salt Cure visual bug if mon fainted by direct attack by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3388
* Fixed Purifying Salt not preventing the use of Rest by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Fixed Make it Rain lowering Sp. Attack twice if hitting 2 targets in double battles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3441
* Fixed Reflect Type not properly handle 3rd types by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3303
* Fixed form change triggered by switching not occuring when using moves like U-Turn or Baton Pass by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3463
* Fixed Last Resort not counting Sleep Talk as used for its effect by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
## 🎭 Abilities 🎭
### Changed
* Removed unused `STATUS3_CANT_SCORE_A_CRIT` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Moved Beads of Ruin and Sword of Ruin damage to the appropiate damage modifier functions by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
### Fixed
* Fixed Intimidate increasing the attack of both opponents if one of them has Contrary in double battles by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3365
* Fixed Battle/Shell Armor not preventing critical hits by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Fixed Rivalry's effect being reversed by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Fixed Rivalry lowering attack if either attacker or target were genderless by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Fixed missing Poison Heal Ability Popup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3385
* Fixed Parental Bond not working at all by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3417
* Fixed Beads of Ruin and Sword of Ruin damage modifiers by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
* Fixed Sheer Force not negating effects that benefit the user (eg. Flame Charge, Power-Up Punch) by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
* Fixed Strength Sap not healing the user when used on a Substitute by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3486
* Fixed Substitute showing the "took damage for" message if Strength Sap was used on it by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3486
* Fixed Weak Armor interrupting Multi Hit moves by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3497
## 🧶 Items 🧶
### Fixed
* Fixed Shiny Charm doing too many rerolls by default by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3327
* Fixed Berserk Gene activating for the wrong Pokémon double battles by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3363
* Fixed Red Card not being consumed after opponent Sticky Web activation by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Fixed implementation of Gen6 that didn't allow for the Exp Share flag to be set via script without setting the item to the Gen 6+ version by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3384
* Fixed Kee Berry raising defense by 1 stage instead of 2 by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Fixed Kee Berry incorrect stat raise message by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Fixed Razor Fang not being able to be used directly even if `I_USE_EVO_HELD_ITEMS_FROM_BAG` was set to `TRUE` by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3456
## 🧹 Cleanup 🧹
* `AbilityBattleEffects` uses `B_MSG_TERRAIN` constants for field terrain intro text by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3410
* Removed all trailing whitespace by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3472
## 🧪 Test Runner 🧪
### Added
* Flinch tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3345
* Berserk Gene double battle tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3363
* More specific Toxic Spikes tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3316
* Red Card/Sticky Web test @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Intimidate/Contrary double battle test by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3365
* Critical Hit tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Roost tests by @BLourenco in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
* Rivalry tests by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Various tests by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3385
* Defeatist, Dragon's Maw, Earth Eater, Gale Wings, Poison Heal, Rocky Payload, Sap Sipper, Steelworker and Transistor.
* Various tests by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Beast Boost, Ice Scales, Neuroforce, Purifying Salt, Quick Draw and Sharpness.
* Berry tests @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Full: Apicot, Custap, Ganlon, Jaboca, Kee, Lansat, Liechi, Maranga, Micle, Petaya, Rowap and Salac Berries.
* TODO: Starf Berry.
* Weather and type-specific tests by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3260
* Full: Freezing, Hail, Moonlight, Morning Sun, Sandstorm, Snow, Solar Beam/Blade, Steel poisoning, Synthesis, Thunder and Weather Ball.
* Partial: Prankster, Safety Goggles, Aurora Veil, Hurricane, Leech Seed and OHKO moves.
* TODO: Harvest.
* Single Parental Bond test by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3417
* Several tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
* Full: Weak Armor, Last Resort, Stealth Rock.
* Completed Weak Armor tests by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3493
* Partial: Defiant, Sheer Force, White Herb, Strength Sap.
### Changed
* Red Card tests now check if the item was consumed by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Tests now cannot use `i` in their cycles to avoid messing with `PARAMETRIZE` by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3408
* Moved battle tests off the heap by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3414
* Moved Powder/Grass test to `move_flags` folder by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3260
* Continuous `NOT x; NOT y;` are now not allowed in tests due to them not acting as one would expect by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3459
* Test writers should use `NONE_OF { x; y; }` instead.
### Fixed
* Fixed CreateNPCTrainerPartyForTrainer test failing on modern by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3367
* Fixed `RNG_CRITICAL_HIT` by @mrgriffin and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Fixed `ASSUMPTIONS` block not working by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3368
* Fixup by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3408
* Fixed Beads of Ruin and Sword of Ruin damage tests by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
* Fixes test RNG by @mrgriffin and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3433
* Fixed battle test estimateCost bug by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3448
* Test cleanup and improvements by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3449
* Removed duplicated Prankster TO_DO test.
* Corrected Multi-hit test names (4 and 5 hits stated 35% instead of 15%).
* Grouped Maranga Berry's Physical vs Special tests using PARAMETRIZE.
* Improved Jaboca, Kee and Rowap tests by @AlexOn1ine
* Fixed `ModifyPersonalityForNature` by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3452
* Fixed test_runner.c modern warning by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3451
## New Contributors
* @BLourenco made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
## Full Changelog
https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.6.1...expansion/1.6.2
## [Version 1.6.2](docs/changelogs/1.6.2.md) - Bugfix release

View File

@ -146,8 +146,6 @@ ifneq ($(MODERN),1)
CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef
endif
LDFLAGS = -Map ../../$(MAP)
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
GFX := tools/gbagfx/gbagfx$(EXE)
AIF := tools/aif2pcm/aif2pcm$(EXE)
@ -280,8 +278,7 @@ clean-check-tools:
@$(foreach tooldir,$(CHECKTOOLDIRS),$(MAKE) clean -C $(tooldir);)
mostlyclean: tidynonmodern tidymodern tidycheck
rm -f $(SAMPLE_SUBDIR)/*.bin
rm -f $(CRY_SUBDIR)/*.bin
find sound -iname '*.bin' -exec rm {} +
rm -f $(MID_SUBDIR)/*.s
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
@ -466,19 +463,20 @@ endef
$(foreach src, $(TEST_SRCS), $(eval $(call TEST_DEP,$(patsubst $(TEST_SUBDIR)/%.c,$(TEST_BUILDDIR)/%.o,$(src)),$(src),$(patsubst $(TEST_SUBDIR)/%.c,%,$(src)))))
ifeq ($(MODERN),0)
LD_SCRIPT := ld_script.txt
LD_SCRIPT := ld_script.ld
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
else
LD_SCRIPT := ld_script_modern.txt
LD_SCRIPT := ld_script_modern.ld
LD_SCRIPT_DEPS :=
endif
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld
LDFLAGS = -Map ../../$(MAP)
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) libagbsyscall
@echo "cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ <objects> <lib>"
@cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
@cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld --print-memory-usage -o ../../$@ $(OBJS_REL) $(LIB) | cat
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
$(ROM): $(ELF)
@ -489,7 +487,7 @@ agbcc: all
modern: all
LD_SCRIPT_TEST := ld_script_test.txt
LD_SCRIPT_TEST := ld_script_test.ld
$(OBJ_DIR)/ld_script_test.ld: $(LD_SCRIPT_TEST) $(LD_SCRIPT_DEPS)
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT_TEST) > ld_script_test.ld

View File

@ -7,7 +7,7 @@ pokeemerald-expansion is a decomp hack base project based off pret's [pokeemeral
If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect.
You can phrase it as the following:
```
Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokeemerald-expansion/
Based off RHH's pokeemerald-expansion v1.7.0 https://github.com/rh-hideout/pokeemerald-expansion/
```
## What features are included?
@ -17,19 +17,22 @@ Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokee
- [Item configurations](/include/config/item.h)
- [Overworld configurations](/include/config/overworld.h)
- [Debug configurations](/include/config/debug.h)
- Upgraded battle engine.
- ***Upgraded battle engine.***
- Gen5+ damage calculation.
- 2v2 Wild battles support.
- 1v2/2v1 battles support.
- Fairy Type (configurable).
- Physical/Special/Status Category Split (configurable).
- Physical/Special/Status Category (configurable).
- New moves and abilities up to Scarlet and Violet.
- Custom Contest data up to SwSh, newer moves are WIP. ([source](https://pokemonurpg.com/info/contests/rse-move-list/))
- [Form change tables](/src/data/pokemon/form_change_tables.h) that allow customizing most form changes.
- Mega Evolution, Primal Reversion and Ultra Burst.
- Mega Evolution
- Primal Reversion
- Ultra Burst
- Z-Moves
- Gen 8+ damaging moves are given power extrapolated from Gen 7.
- Gen 8+ status moves have no additional effects, like Healing Wish.
- Dynamax
- Gigantamax forms
- Initial battle parameters
- Queueing stat boosts (aka, Totem Boosts)
- Setting Terrains.
@ -37,6 +40,7 @@ Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokee
- Quick Poké Ball selection in Wild Battles
- Press `R` to use last selected Poké Ball.
- Hold `R` to change selection with the D-Pad.
- Run option shortcut
- Faster battle intro
- Message and animation/cry happens at the same time.
- Faster HP drain.
@ -58,7 +62,7 @@ Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokee
- Level 100 Pokémon can earn EVs.
- Inverse battle support.
- TONS of other features listed [here](/include/config/battle.h).
- Full Trainer customization
- ***Full Trainer customization***
- Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess.
- Custom tag battle support (teaming up an NPC in a double battle).
- Sliding trainer messages.
@ -67,11 +71,12 @@ Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokee
- New flag options to let you customize the intelligence of your trainers.
- Faster calculations.
- Specify Poké Balls by Trainer class.
- Pokémon Species from Generations 1-8.
- Option to disable unwanted generations.
- ***Pokémon Species from Generations 1-9.***
- Simplified process to add new Pokémon.
- Option to disable unwanted families.
- Updated sprites to DS style.
- Updated stats, types, abilities and egg groups (configurable).
- Updated Hoenn's Regional Dex to match ORAS'.
- Updated Hoenn's Regional Dex to match ORAS' (configurable).
- Updated National Dex incorporating the new species.
- Sprite and animation visualizer.
- Accesible by pressing `Select` on a Pokémon's Summary screen.
@ -86,46 +91,56 @@ Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokee
- Available via Ability Patch.
- Compatible with Ghoul's DexNav branch.
- All gender differences.
- Different icons for female Hippopotas and Hippowdon
- 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts
- Breeding
- Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett
- 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts.
- ***Customizable form change tables. Full list of methods [here](/include/constants/form_change_types.h).***
- Item holding (eg. Giratina/Arceus)
- Item using (eg. Oricorio)
- Time of day option for Shaymin
- Fainting
- Battle begin and end (eg. Xerneas)
- Move change option for Zacian/Zamazenta
- Battle end in terrains (eg. Burmy)
- Switched in battle (eg. Palafin)
- HP Threshold (eg. Darmanitan)
- Weather (eg. Castform)
- End of turn (eg. Morpeko)
- Time of day (Shaymin)
- ***Breeding Improvements***
- Incense Baby Pokémon now happen automatically (configurable).
- Level 1 eggs.
- Poké Ball inheriting.
- Egg Move Transfer, including Mirror Herb.
- Nature inheriting 100% of the time with Everstone
- Gen6+ Ability inheriting.
- Items from newer Generations. Full list [here](/include/constants/items.h).
- Level 1 eggs (configurable).
- Poké Ball inheriting (configurable).
- Egg Move Transfer, including Mirror Herb (configurable).
- Nature inheriting 100% of the time with Everstone (configurable)
- Gen6+ Ability inheriting (configurable).
- ***Items from newer Generations. Full list [here](/include/constants/items.h).***
- ***Gen 6+ Exp. Share*** (configurable)
- Berserk Gene
- Most battle items from Gen 4+
- Existing item data but missing effects:
- Mints
- Dynamax Candy
- Mulches
- Rotom Catalog
- DNA Splicers
- Zygarde Cube
- N Solarizer/Lunarizer
- Reins of Unity
- Dynamax Band
- Gimmighoul Coin
- Booster Energy
- Tera Shards
- Tera Orb
- Feature branches incorporated:
- [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by Xhyzi.
- ***Feature branches incorporated (with permission):***
- [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi.
- A small signature from all of us to show the collective effort in the project :)
- [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by TheXaman
- [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman
- May be disabled.
- Accesible by pressing `R + Start` in the overworld by default.
- **Additional features**:
- *Clear Boxes*: cleans every Pokémon from the Boxes.
- *Hatch an Egg*: lets you choose an Egg in your party and immediatly hatch it.
- [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by TheXaman
- [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman
- May be disabled.
- **Additional features**:
- *Support for new evolution methods*.
- *Dark Mode*.
- Other features
- [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg
- ***Other features***
- Pressing B while holding a Pokémon drops them like in modern games (configurable).
- Running indoors (configurable).
- Configurable overworld poison damage.
@ -151,7 +166,7 @@ With this, you'll get the latest version of pokeemerald-expansion, plus a couple
## **How do I update my version of pokeemerald-expansion?**
- 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.2`.
- Once you have your remote set up, run the command `git pull RHH expansion/1.7.0`.
### Please consider crediting the entire [list of contributors](https://github.com/rh-hideout/pokeemerald-expansion/wiki/Credits) in your project, as they have all worked hard to develop this project :)

View File

@ -1,783 +0,0 @@
.macro if_random_less_than param0:req, param1:req
.byte 0x0
.byte \param0
.4byte \param1
.endm
.macro if_random_greater_than param0:req, param1:req
.byte 0x1
.byte \param0
.4byte \param1
.endm
.macro if_random_equal param0:req, param1:req
.byte 0x2
.byte \param0
.4byte \param1
.endm
.macro if_random_not_equal param0:req, param1:req
.byte 0x3
.byte \param0
.4byte \param1
.endm
.macro score param0:req
.byte 0x4
.byte \param0
.endm
.macro if_hp_less_than battler:req, param1:req, param2:req
.byte 0x5
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_hp_more_than battler:req, param1:req, param2:req
.byte 0x6
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_hp_equal battler:req, param1:req, param2:req
.byte 0x7
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_hp_not_equal battler:req, param1:req, param2:req
.byte 0x8
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_status battler:req, status1:req, param2:req
.byte 0x9
.byte \battler
.4byte \status1
.4byte \param2
.endm
.macro if_not_status battler:req, status1:req, param2:req
.byte 0xa
.byte \battler
.4byte \status1
.4byte \param2
.endm
.macro if_status2 battler:req, status2:req, param2:req
.byte 0xb
.byte \battler
.4byte \status2
.4byte \param2
.endm
.macro if_not_status2 battler:req, status2:req, param2:req
.byte 0xc
.byte \battler
.4byte \status2
.4byte \param2
.endm
.macro if_status3 battler:req, status3:req, param2:req
.byte 0xd
.byte \battler
.4byte \status3
.4byte \param2
.endm
.macro if_not_status3 battler:req, status3:req, param2:req
.byte 0xe
.byte \battler
.4byte \status3
.4byte \param2
.endm
.macro if_side_affecting battler:req, sidestatus:req, param2:req
.byte 0xf
.byte \battler
.4byte \sidestatus
.4byte \param2
.endm
.macro if_not_side_affecting battler:req, sidestatus:req, param2:req
.byte 0x10
.byte \battler
.4byte \sidestatus
.4byte \param2
.endm
.macro if_less_than param0:req, param1:req
.byte 0x11
.byte \param0
.4byte \param1
.endm
.macro if_more_than param0:req, param1:req
.byte 0x12
.byte \param0
.4byte \param1
.endm
.macro if_equal param0:req, param1:req
.byte 0x13
.byte \param0
.4byte \param1
.endm
.macro if_not_equal param0:req, param1:req
.byte 0x14
.byte \param0
.4byte \param1
.endm
.macro if_less_than_ptr param0:req, param1:req
.byte 0x15
.4byte \param0
.4byte \param1
.endm
.macro if_more_than_ptr param0:req, param1:req
.byte 0x16
.4byte \param0
.4byte \param1
.endm
.macro if_equal_ptr param0:req, param1:req
.byte 0x17
.4byte \param0
.4byte \param1
.endm
.macro if_not_equal_ptr param0:req, param1:req
.byte 0x18
.4byte \param0
.4byte \param1
.endm
.macro if_move param0:req, param1:req
.byte 0x19
.2byte \param0
.4byte \param1
.endm
.macro if_not_move param0:req, param1:req
.byte 0x1a
.2byte \param0
.4byte \param1
.endm
.macro if_in_bytes param0:req, param1:req
.byte 0x1b
.4byte \param0
.4byte \param1
.endm
.macro if_not_in_bytes param0:req, param1:req
.byte 0x1c
.4byte \param0
.4byte \param1
.endm
.macro if_in_hwords param0:req, param1:req
.byte 0x1d
.4byte \param0
.4byte \param1
.endm
.macro if_not_in_hwords param0:req, param1:req
.byte 0x1e
.4byte \param0
.4byte \param1
.endm
.macro if_user_has_attacking_move param0:req
.byte 0x1f
.4byte \param0
.endm
.macro if_user_has_no_attacking_moves param0:req
.byte 0x20
.4byte \param0
.endm
.macro get_turn_count
.byte 0x21
.endm
.macro get_type param0:req
.byte 0x22
.byte \param0
.endm
.macro get_considered_move_power
.byte 0x23
.endm
.macro get_how_powerful_move_is
.byte 0x24
.endm
.macro get_last_used_bank_move battler:req
.byte 0x25
.byte \battler
.endm
.macro if_equal_u32 param0:req, param1:req
.byte 0x26
.4byte \param0
.4byte \param1
.endm
.macro if_not_equal_u32 param0:req, param1:req
.byte 0x27
.4byte \param0
.4byte \param1
.endm
.macro if_user_goes param0:req, param1:req
.byte 0x28
.byte \param0
.4byte \param1
.endm
.macro if_cant_use_belch battler:req, ptr:req
.byte 0x29
.byte \battler
.4byte \ptr
.endm
.macro nop_2A
.byte 0x2a
.endm
.macro nop_2B
.byte 0x2b
.endm
.macro count_usable_party_mons battler:req
.byte 0x2c
.byte \battler
.endm
.macro get_considered_move
.byte 0x2d
.endm
.macro get_considered_move_effect
.byte 0x2e
.endm
.macro get_ability battler:req
.byte 0x2f
.byte \battler
.endm
.macro get_highest_type_effectiveness
.byte 0x30
.endm
.macro if_type_effectiveness param0:req, param1:req
.byte 0x31
.byte \param0
.4byte \param1
.endm
.macro nop_32
.byte 0x32
.endm
.macro nop_33
.byte 0x33
.endm
.macro if_status_in_party battler:req, status1:req, param2:req
.byte 0x34
.byte \battler
.4byte \status1
.4byte \param2
.endm
.macro if_status_not_in_party battler:req, status1:req, param2:req
.byte 0x35
.byte \battler
.4byte \status1
.4byte \param2
.endm
.macro get_weather
.byte 0x36
.endm
.macro if_effect param0:req, param1:req
.byte 0x37
.2byte \param0
.4byte \param1
.endm
.macro if_not_effect param0:req, param1:req
.byte 0x38
.2byte \param0
.4byte \param1
.endm
.macro if_stat_level_less_than battler:req, stat:req, param2:req, param3:req
.byte 0x39
.byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_more_than battler:req, stat:req, param2:req, param3:req
.byte 0x3a
.byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_equal battler:req, stat:req, param2:req, param3:req
.byte 0x3b
.byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_not_equal battler:req, stat:req, param2:req, param3:req
.byte 0x3c
.byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_can_faint param0:req
.byte 0x3d
.4byte \param0
.endm
.macro if_cant_faint param0:req
.byte 0x3e
.4byte \param0
.endm
.macro if_has_move battler:req, param1:req, param2:req
.byte 0x3f
.byte \battler
.2byte \param1
.4byte \param2
.endm
.macro if_doesnt_have_move battler:req, param1:req, param2:req
.byte 0x40
.byte \battler
.2byte \param1
.4byte \param2
.endm
.macro if_has_move_with_effect battler:req, param1:req, param2:req
.byte 0x41
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_doesnt_have_move_with_effect battler:req, param1:req, param2:req
.byte 0x42
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_any_move_disabled_or_encored battler:req, param1:req, param2:req
.byte 0x43
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro if_curr_move_disabled_or_encored param0:req, param1:req
.byte 0x44
.byte \param0
.4byte \param1
.endm
.macro flee
.byte 0x45
.endm
.macro if_random_safari_flee param0:req
.byte 0x46
.4byte \param0
.endm
.macro watch
.byte 0x47
.endm
.macro get_hold_effect battler:req
.byte 0x48
.byte \battler
.endm
.macro get_gender battler:req
.byte 0x49
.byte \battler
.endm
.macro is_first_turn_for battler:req
.byte 0x4a
.byte \battler
.endm
.macro get_stockpile_count battler:req
.byte 0x4b
.byte \battler
.endm
.macro is_double_battle
.byte 0x4c
.endm
.macro get_used_held_item battler:req
.byte 0x4d
.byte \battler
.endm
.macro get_move_type_from_result
.byte 0x4e
.endm
.macro get_move_power_from_result
.byte 0x4f
.endm
.macro get_move_effect_from_result
.byte 0x50
.endm
.macro get_protect_count battler:req
.byte 0x51
.byte \battler
.endm
.macro if_move_flag flag jumpptr
.byte 0x52
.4byte \flag
.4byte \jumpptr
.endm
.macro if_field_status flag jumpptr
.byte 0x53
.4byte \flag
.4byte \jumpptr
.endm
.macro get_move_accuracy
.byte 0x54
.endm
.macro call_if_eq value, ptr
.byte 0x55
.2byte \value
.4byte \ptr
.endm
.macro call_if_move_flag flag ptr
.byte 0x56
.4byte \flag
.4byte \ptr
.endm
.macro nop_57
.byte 0x57
.endm
.macro call param0:req
.byte 0x58
.4byte \param0
.endm
.macro goto param0:req
.byte 0x59
.4byte \param0
.endm
.macro end
.byte 0x5a
.endm
.macro if_level_cond param0:req, param1:req
.byte 0x5b
.byte \param0
.4byte \param1
.endm
.macro if_target_taunted param0:req
.byte 0x5c
.4byte \param0
.endm
.macro if_target_not_taunted param0:req
.byte 0x5d
.4byte \param0
.endm
.macro if_target_is_ally param0:req
.byte 0x5e
.4byte \param0
.endm
.macro is_of_type battler:req, type:req
.byte 0x5f
.byte \battler
.byte \type
.endm
.macro check_ability battler:req, ability:req
.byte 0x60
.byte \battler
.byte \ability
.endm
.macro if_flash_fired battler:req, param1:req
.byte 0x61
.byte \battler
.4byte \param1
.endm
.macro if_holds_item battler:req, param1:req, param2:req
.byte 0x62
.byte \battler
.2byte \param1
.4byte \param2
.endm
.macro get_ally_chosen_move
.byte 0x63
.endm
.macro if_has_no_attacking_moves battler:req, param1:req
.byte 0x64
.byte \battler
.4byte \param1
.endm
.macro get_hazards_count battler:req, effect:req
.byte 0x65
.byte \battler
.2byte \effect
.endm
.macro if_doesnt_hold_berry battler:req, ptr:req
.byte 0x66
.byte \battler
.4byte \ptr
.endm
.macro if_share_type battler1:req, battler2:req, ptr:req
.byte 0x67
.byte \battler1
.byte \battler2
.4byte \ptr
.endm
.macro if_cant_use_last_resort battler:req, ptr:req
.byte 0x68
.byte \battler
.4byte \ptr
.endm
.macro if_has_move_with_split battler:req, split:req, ptr:req
.byte 0x69
.byte \battler
.byte \split
.4byte \ptr
.endm
.macro if_has_no_move_with_split battler:req, split:req, ptr:req
.byte 0x6A
.byte \battler
.byte \split
.4byte \ptr
.endm
.macro if_physical_moves_unusable attacker:req, target:req, ptr:req
.byte 0x6B
.byte \attacker
.byte \target
.4byte \ptr
.endm
.macro if_ai_can_go_down ptr:req
.byte 0x6C
.4byte \ptr
.endm
.macro if_has_move_with_type battler:req, type:req, ptr:req
.byte 0x6D
.byte \battler
.byte \type
.4byte \ptr
.endm
.macro if_no_move_used battler:req, ptr:req
.byte 0x6E
.byte \battler
.4byte \ptr
.endm
.macro if_has_move_with_flag battler:req, flag:req, ptr:req
.byte 0x6F
.byte \battler
.4byte \flag
.4byte \ptr
.endm
.macro if_battler_absent battler:req, ptr:req
.byte 0x70
.byte \battler
.4byte \ptr
.endm
.macro if_grounded battler:req, ptr:req
.byte 0x71
.byte \battler
.4byte \ptr
.endm
.macro get_best_dmg_hp_percent
.byte 0x72
.endm
.macro get_curr_dmg_hp_percent
.byte 0x73
.endm
.macro get_move_split_from_result
.byte 0x74
.endm
.macro get_considered_move_split
.byte 0x75
.endm
.macro get_considered_move_target
.byte 0x76
.endm
.macro compare_speeds battler1:req, battler2:req
.byte 0x77
.byte \battler1
.byte \battler2
.endm
.macro is_wakeup_turn battler:req
.byte 0x78
.byte \battler
.endm
.macro if_has_move_with_accuracy_lt battler:req, value:req, ptr:req
.byte 0x79
.byte \battler
.byte \value
.4byte \ptr
.endm
@ useful script macros
.macro if_has_physical_move battler:req, ptr:req
if_has_move_with_split \battler, SPLIT_PHYSICAL, \ptr
.endm
.macro if_has_no_physical_move battler:req, ptr:req
if_has_no_move_with_split \battler, SPLIT_PHYSICAL, \ptr
.endm
.macro if_has_special_move battler:req, ptr:req
if_has_move_with_split \battler, SPLIT_SPECIAL, \ptr
.endm
.macro if_has_no_special_move battler:req, ptr:req
if_has_no_move_with_split \battler, SPLIT_SPECIAL, \ptr
.endm
.macro if_holds_no_item battler, ptr:req
if_holds_item \battler, 0, \ptr
.endm
.macro get_curr_move_type
get_type AI_TYPE_MOVE
.endm
.macro get_user_type1
get_type AI_TYPE1_USER
.endm
.macro get_user_type2
get_type AI_TYPE2_USER
.endm
.macro get_target_type1
get_type AI_TYPE1_TARGET
.endm
.macro get_target_type2
get_type AI_TYPE2_TARGET
.endm
.macro if_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 1, \ptr
.endm
.macro if_no_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 0, \ptr
.endm
.macro if_type battler:req, type:req, ptr:req
is_of_type \battler, \type
if_equal 1, \ptr
.endm
.macro if_no_type battler:req, type:req, ptr:req
is_of_type \battler, \type
if_equal 0, \ptr
.endm
.macro if_target_faster ptr:req
if_user_goes 1, \ptr
.endm
.macro if_user_faster ptr:req
if_user_goes 0, \ptr
.endm
.macro if_double_battle ptr:req
is_double_battle
if_equal 1, \ptr
.endm
.macro if_not_double_battle ptr:req
is_double_battle
if_equal 0, \ptr
.endm
.macro if_any_move_disabled battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 0, \ptr
.endm
.macro if_any_move_encored battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 1, \ptr
.endm
.macro call_if_always_hit ptr:req
get_move_accuracy
call_if_eq 0, \ptr
.endm

View File

@ -362,11 +362,6 @@
.byte 0x3f
.endm
.macro jumpifaffectedbyprotect failInstr:req
.byte 0x40
.4byte \failInstr
.endm
.macro call instr:req
.byte 0x41
.4byte \instr
@ -1092,8 +1087,9 @@
.4byte \failInstr
.endm
.macro trycopyability failInstr:req
.macro trycopyability battler:req, failInstr:req
.byte 0xd3
.byte \battler
.4byte \failInstr
.endm
@ -1317,6 +1313,15 @@
.byte \battler
.4byte \jumpInstr
.endm
.macro allyswitchswapbattlers
callnative BS_AllySwitchSwapBattler
.endm
.macro allyswitchfailchance jumpInstr:req
callnative BS_AllySwitchFailChance
.4byte \jumpInstr
.endm
.macro jumpifholdeffect battler:req, holdEffect:req, jumpInstr:req
callnative BS_JumpIfHoldEffect
@ -1391,6 +1396,11 @@
.4byte \sidestatus
.endm
.macro trycopycat failInstr:req
callnative BS_TryCopycat
.4byte \failInstr
.endm
.macro setzeffect
callnative BS_SetZEffect
.endm
@ -1546,6 +1556,16 @@
.4byte \failInstr
.endm
.macro trydefog clear:req, failInstr:req
callnative BS_TryDefog
.byte \clear
.4byte \failInstr
.endm
.macro trytriggerstatusform
callnative BS_TryTriggerStatusForm
.endm
@ various command changed to more readable macros
.macro cancelmultiturnmoves battler:req
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
@ -1805,11 +1825,6 @@
.4byte \jumpInstr
.endm
.macro trycopycat failInstr:req
various BS_ATTACKER, VARIOUS_TRY_COPYCAT
.4byte \failInstr
.endm
.macro showabilitypopup battler:req
various \battler, VARIOUS_ABILITY_POPUP
.endm
@ -1818,12 +1833,6 @@
various \battler, VARIOUS_UPDATE_ABILITY_POPUP
.endm
.macro defogclear battler:req, clear:req, failInstr:req
various \battler, VARIOUS_DEFOG
.byte \clear
.4byte \failInstr
.endm
.macro jumpiftargetally jumpInstr:req
various BS_ATTACKER, VARIOUS_JUMP_IF_TARGET_ALLY
.4byte \jumpInstr
@ -2324,6 +2333,15 @@
goto \jumpInstr
.endm
.macro setallytonextattacker jumpInstr:req
jumpifbyte CMP_GREATER_THAN, gBattlerAttacker, 0x1, 1f
addbyte gBattlerAttacker, 0x2
goto \jumpInstr
1:
subbyte gBattlerAttacker, 0x2
goto \jumpInstr
.endm
.macro jumpifleafguardprotected battler:req, jumpInstr:req
various \battler, VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED
.4byte \jumpInstr

View File

@ -860,6 +860,21 @@ gBattleAnims_Moves::
.4byte Move_MATCHA_GOTCHA
.4byte Move_SYRUP_BOMB
.4byte Move_IVY_CUDGEL
.4byte Move_833
.4byte Move_834
.4byte Move_835
.4byte Move_836
.4byte Move_837
.4byte Move_838
.4byte Move_839
.4byte Move_840
.4byte Move_841
.4byte Move_842
.4byte Move_843
.4byte Move_844
.4byte Move_845
.4byte Move_846
.4byte Move_847
@@@@ Z MOVES
.4byte Move_BREAKNECK_BLITZ
.4byte Move_ALL_OUT_PUMMELING
@ -5610,6 +5625,11 @@ Move_QUICK_GUARD:
end
Move_ALLY_SWITCH:
call SetPsychicBackground
createvisualtask AnimTask_AllySwitchAttacker, 2
createvisualtask AnimTask_AllySwitchPartner, 2
call DoubleTeamAnimRet
call UnsetPsychicBg
end
Move_SCALD:
@ -15613,6 +15633,7 @@ Move_FREEZING_GLARE::
Move_FIERY_WRATH::
loadspritegfx ANIM_TAG_SMALL_EMBER
loadspritegfx ANIM_TAG_PURPLE_RING
monbg ANIM_DEF_PARTNER
playsewithpan SE_M_SACRED_FIRE2, 0xc0
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0xE, 0x0
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x4, 0x0, 0x8, 0x1F
@ -15633,6 +15654,7 @@ Move_FIERY_WRATH::
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x2, 0x9, 0x0, 0x3006
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xE, 0x0, 0x0
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
FieryWrathGeyser:
@ -15650,6 +15672,7 @@ FieryWrathGeyser:
delay 0x0
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10
delay 0x0
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10
delay 0x0
@ -15682,10 +15705,10 @@ FieryWrathGeyser:
delay 0x0
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10
createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10
delay 0x0
return
@Credits to Skeli
Move_THUNDEROUS_KICK::
loadspritegfx ANIM_TAG_IMPACT
@ -16960,6 +16983,21 @@ Move_IVY_CUDGEL::
Move_NONE:
Move_MIRROR_MOVE:
Move_POUND:
Move_833:
Move_834:
Move_835:
Move_836:
Move_837:
Move_838:
Move_839:
Move_840:
Move_841:
Move_842:
Move_843:
Move_844:
Move_845:
Move_846:
Move_847:
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
@ -19315,9 +19353,8 @@ Move_TELEPORT:
call UnsetPsychicBg
waitforvisualfinish
end
Move_DOUBLE_TEAM:
createvisualtask AnimTask_DoubleTeam, 2
DoubleTeamAnimRet:
setalpha 12, 8
monbg ANIM_ATK_PARTNER
playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER
@ -19341,6 +19378,11 @@ Move_DOUBLE_TEAM:
clearmonbg ANIM_ATK_PARTNER
blendoff
delay 1
return
Move_DOUBLE_TEAM:
createvisualtask AnimTask_DoubleTeam, 2
call DoubleTeamAnimRet
end
Move_MINIMIZE:
@ -27380,8 +27422,6 @@ General_RestoreBg:
waitbgfadein
end
end
General_ZMoveActivate:
loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy
loadspritegfx ANIM_TAG_Z_MOVE_SYMBOL @Z-Move Symbol

View File

@ -69,7 +69,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectRecoilIfMiss @ EFFECT_RECOIL_IF_MISS
.4byte BattleScript_EffectMist @ EFFECT_MIST
.4byte BattleScript_EffectFocusEnergy @ EFFECT_FOCUS_ENERGY
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_25
.4byte BattleScript_EffectHit @ EFFECT_RECOIL
.4byte BattleScript_EffectConfuse @ EFFECT_CONFUSE
.4byte BattleScript_EffectAttackUp2 @ EFFECT_ATTACK_UP_2
.4byte BattleScript_EffectDefenseUp2 @ EFFECT_DEFENSE_UP_2
@ -123,7 +123,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectSpite @ EFFECT_SPITE
.4byte BattleScript_EffectHit @ EFFECT_FALSE_SWIPE
.4byte BattleScript_EffectHealBell @ EFFECT_HEAL_BELL
.4byte BattleScript_EffectHit @ EFFECT_ALWAYS_CRIT
.4byte BattleScript_EffectTripleKick @ EFFECT_TRIPLE_KICK
.4byte BattleScript_EffectThief @ EFFECT_THIEF
.4byte BattleScript_EffectMeanLook @ EFFECT_MEAN_LOOK
@ -215,7 +214,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectSnatch @ EFFECT_SNATCH
.4byte BattleScript_EffectHit @ EFFECT_LOW_KICK
.4byte BattleScript_EffectSecretPower @ EFFECT_SECRET_POWER
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_33
.4byte BattleScript_EffectTeeterDance @ EFFECT_TEETER_DANCE
.4byte BattleScript_EffectHitEscape @ EFFECT_HIT_ESCAPE
.4byte BattleScript_EffectMudSport @ EFFECT_MUD_SPORT
@ -307,9 +305,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectGrowth @ EFFECT_GROWTH
.4byte BattleScript_EffectCloseCombat @ EFFECT_CLOSE_COMBAT
.4byte BattleScript_EffectLastResort @ EFFECT_LAST_RESORT
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_33_STATUS
.4byte BattleScript_EffectFlinchStatus @ EFFECT_FLINCH_STATUS
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_50
.4byte BattleScript_EffectShellSmash @ EFFECT_SHELL_SMASH
.4byte BattleScript_EffectShiftGear @ EFFECT_SHIFT_GEAR
.4byte BattleScript_EffectDefenseUp3 @ EFFECT_DEFENSE_UP_3
@ -439,10 +435,39 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectChillyReception @ EFFECT_CHILLY_RECEPTION
.4byte BattleScript_EffectMatchaGotcha @ EFFECT_MATCHA_GOTCHA
.4byte BattleScript_EffectSyrupBomb @ EFFECT_SYRUP_BOMB
.4byte BattleScript_EffectHit @ EFFECT_IVY_CUDGEL
.4byte BattleScript_EffectMaxMove @ EFFECT_MAX_MOVE
.4byte BattleScript_EffectGlaiveRush @ EFFECT_GLAIVE_RUSH
.4byte BattleScript_EffectBrickBreak @ EFFECT_RAGING_BULL
.4byte BattleScript_EffectHit @ EFFECT_RAGE_FIST
.4byte BattleScript_EffectDoodle @ EFFECT_DOODLE
BattleScript_EffectDoodle:
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
setbyte gBattleCommunication, 0
BattleScript_EffectDoodle_CopyAbility:
trycopyability BS_ATTACKER, BattleScript_ButItFailed
.if B_ABILITY_POP_UP == TRUE
setbyte sFIXED_ABILITY_POPUP, TRUE
showabilitypopup BS_ATTACKER
pause 60
sethword sABILITY_OVERWRITE, 0
updateabilitypopup BS_ATTACKER
pause 20
destroyabilitypopup
pause 40
.endif
printstring STRINGID_PKMNCOPIEDFOE
waitmessage B_WAIT_TIME_LONG
switchinabilities BS_ATTACKER
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x0, BattleScript_MoveEnd
addbyte gBattleCommunication, 1
jumpifnoally BS_TARGET, BattleScript_MoveEnd
setallytonextattacker BattleScript_EffectDoodle_CopyAbility
goto BattleScript_MoveEnd
BattleScript_EffectGlaiveRush::
call BattleScript_EffectHit_Ret
@ -1085,8 +1110,7 @@ BattleScript_EffectFling:
attackcanceler
jumpifcantfling BS_ATTACKER, BattleScript_FailedFromAtkString
setlastuseditem BS_ATTACKER
removeitem BS_ATTACKER
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
accuracycheck BattleScript_FlingMissed, ACC_CURR_MOVE
attackstring
pause B_WAIT_TIME_SHORT
printstring STRINGID_PKMNFLUNG
@ -1095,6 +1119,7 @@ BattleScript_EffectFling:
critcalc
damagecalc
adjustdamage
removeitem BS_ATTACKER
attackanimation
waitanimation
effectivenesssound
@ -1170,6 +1195,12 @@ BattleScript_FlingWhiteHerb:
swapattackerwithtarget
goto BattleScript_FlingEnd
BattleScript_FlingMissed:
removeitem BS_ATTACKER
attackstring
ppreduce
goto BattleScript_MoveMissedPause
BattleScript_EffectShellSideArm:
shellsidearmcheck
setmoveeffect MOVE_EFFECT_POISON
@ -1209,7 +1240,7 @@ BattleScript_EffectClangorousSoul:
attackstring
ppreduce
cutonethirdhpraisestats BattleScript_ButItFailed
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_SKIP_DMG_TRACK | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_DISGUISE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_BIDE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_DISGUISE
attackanimation
waitanimation
healthbarupdate BS_ATTACKER
@ -1519,8 +1550,11 @@ BattleScript_EffectAllySwitch:
attackstring
ppreduce
jumpifnoally BS_ATTACKER, BattleScript_ButItFailed
allyswitchfailchance BattleScript_ButItFailed
attackanimation
waitanimation
@ The actual data/gfx swap happens in the move animation. Here it's just the gBattlerAttacker / scripting battler change
allyswitchswapbattlers
printstring STRINGID_ALLYSWITCHPOSITION
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
@ -2149,7 +2183,7 @@ BattleScript_EffectDefog:
jumpifsubstituteblocks BattleScript_DefogIfCanClearHazards
jumpifstat BS_TARGET, CMP_NOT_EQUAL, STAT_EVASION, MIN_STAT_STAGE, BattleScript_DefogWorks
BattleScript_DefogIfCanClearHazards:
defogclear BS_ATTACKER, FALSE, BattleScript_FailedFromAtkString
trydefog FALSE, BattleScript_FailedFromAtkString
BattleScript_DefogWorks:
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
@ -2169,7 +2203,7 @@ BattleScript_DefogPrintString::
waitmessage B_WAIT_TIME_LONG
BattleScript_DefogTryHazards::
copybyte gEffectBattler, gBattlerAttacker
defogclear BS_ATTACKER, TRUE, NULL
trydefog TRUE, NULL
copybyte gBattlerAttacker, gEffectBattler
goto BattleScript_MoveEnd
BattleScript_DefogTryHazardsWithAnim:
@ -2988,7 +3022,7 @@ BattleScript_EffectTelekinesis:
settelekinesis BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNIDENTIFIED
printstring STRINGID_HURLEDINTOTHEAIR
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
@ -4833,8 +4867,11 @@ BattleScript_EffectThief::
goto BattleScript_EffectHit
BattleScript_EffectHitPreventEscape:
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE
goto BattleScript_EffectHit
seteffectprimary
goto BattleScript_HitFromAtkString
BattleScript_EffectMeanLook::
attackcanceler
@ -5907,7 +5944,7 @@ BattleScript_EffectRolePlay::
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
trycopyability BattleScript_ButItFailed
trycopyability BS_ATTACKER, BattleScript_ButItFailed
attackanimation
waitanimation
.if B_ABILITY_POP_UP == TRUE
@ -6843,7 +6880,7 @@ BattleScript_DamagingWeatherHeal:
printstring STRINGID_ICEBODYHPGAIN
waitmessage B_WAIT_TIME_LONG
BattleScript_DamagingWeatherHpChange:
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
tryfaintmon BS_ATTACKER
@ -6853,7 +6890,7 @@ BattleScript_DamagingWeatherLoopIncrement::
addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop
BattleScript_DamagingWeatherContinuesEnd::
bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
call BattleScript_ActivateWeatherAbilities
end2
@ -7390,7 +7427,7 @@ BattleScript_EarthEaterActivates::
call BattleScript_AbilityPopUp
pause B_WAIT_TIME_LONG
tryhealquarterhealth BS_TARGET, BattleScript_EarthEaterRet
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printstring STRINGID_PKMNREGAINEDHEALTH
@ -7967,7 +8004,7 @@ BattleScript_CudChewActivates::
call BattleScript_AbilityPopUp
setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries
consumeberry BS_TARGET, FALSE
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
setbyte sBERRY_OVERRIDE, 0
@ -8027,10 +8064,11 @@ BattleScript_IllusionOff::
return
BattleScript_CottonDownActivates::
setbyte sFIXED_ABILITY_POPUP, TRUE
call BattleScript_AbilityPopUp
showabilitypopup BS_TARGET
pause B_WAIT_TIME_LONG
destroyabilitypopup
copybyte gEffectBattler, gBattlerTarget
savetarget
swapattackerwithtarget
setbyte gBattlerTarget, 0
BattleScript_CottonDownLoop:
jumpiffainted BS_TARGET, TRUE, BattleScript_CottonDownLoopIncrement
@ -8049,8 +8087,7 @@ BattleScript_CottonDownLoopIncrement:
addbyte gBattlerTarget, 1
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_CottonDownLoop
BattleScript_CottonDownReturn:
restoretarget
destroyabilitypopup
swapattackerwithtarget
return
BattleScript_AnticipationActivates::
@ -8063,12 +8100,14 @@ BattleScript_AnticipationActivates::
BattleScript_AftermathDmg::
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUp
jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_AftermathDmgRet
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_AFTERMATHDMG
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_ATTACKER
BattleScript_AftermathDmgRet:
return
BattleScript_DampPreventsAftermath::
@ -8333,6 +8372,8 @@ BattleScript_MoveEffectSleep::
BattleScript_UpdateEffectStatusIconRet::
updatestatusicon BS_EFFECT_BATTLER
waitstate
trytriggerstatusform
flushtextbox
return
BattleScript_YawnMakesAsleep::
@ -9083,14 +9124,8 @@ BattleScript_SoundproofProtected::
goto BattleScript_MoveEnd
BattleScript_IceFaceNullsDamage::
attackstring
attackanimation
waitanimation
effectivenesssound
hitanimation BS_TARGET
waitstate
call BattleScript_TargetFormChangeWithString
goto BattleScript_MoveEnd
return
BattleScript_DazzlingProtected::
attackstring
@ -9114,14 +9149,14 @@ BattleScript_GrassyTerrainLoop:
printstring STRINGID_GRASSYTERRAINHEALS
waitmessage B_WAIT_TIME_LONG
BattleScript_GrassyTerrainHpChange:
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
BattleScript_GrassyTerrainLoopIncrement::
addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_GrassyTerrainLoop
BattleScript_GrassyTerrainLoopEnd::
bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
jumpifword CMP_COMMON_BITS, gFieldStatuses, STATUS_FIELD_TERRAIN_PERMANENT, BattleScript_GrassyTerrainHealEnd
BattleScript_GrassyTerrainHealEnd:
end2
@ -9399,7 +9434,7 @@ BattleScript_KingsShieldEffect::
return
BattleScript_BanefulBunkerEffect::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_STATUS_ABILITY_EFFECT | HITMARKER_PASSIVE_DAMAGE
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
seteffectsecondary
setmoveeffect 0
@ -9677,7 +9712,7 @@ BattleScript_ItemHealHP_RemoveItemRet_Anim:
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_SCRIPTING
datahpupdate BS_SCRIPTING
removeitem BS_SCRIPTING
@ -9692,7 +9727,7 @@ BattleScript_ItemHealHP_RemoveItemEnd2_Anim:
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
removeitem BS_ATTACKER
@ -9748,7 +9783,7 @@ BattleScript_ItemHealHP_Ret::
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
return
@ -9803,7 +9838,7 @@ BattleScript_BerryConfuseHealEnd2_Anim:
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_SCRIPTING
datahpupdate BS_SCRIPTING
printstring STRINGID_FORXCOMMAYZ
@ -9822,7 +9857,7 @@ BattleScript_BerryConfuseHealRet_Anim:
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage B_WAIT_TIME_LONG
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_SCRIPTING
datahpupdate BS_SCRIPTING
printstring STRINGID_FORXCOMMAYZ
@ -10429,9 +10464,6 @@ BattleScript_PastelVeilLoopIncrement:
BattleScript_PastelVeilEnd:
end3
sByteFour:
.byte MAX_BATTLERS_COUNT
BattleScript_NeutralizingGasExits::
savetarget
pause B_WAIT_TIME_SHORT
@ -10441,7 +10473,7 @@ BattleScript_NeutralizingGasExits::
BattleScript_NeutralizingGasExitsLoop:
switchinabilities BS_TARGET
addbyte gBattlerTarget, 1
jumpifbytenotequal gBattlerTarget, sByteFour, BattleScript_NeutralizingGasExitsLoop @ SOMEHOW, comparing to gBattlersCount is problematic.
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_NeutralizingGasExitsLoop
restoretarget
return
@ -10560,7 +10592,7 @@ BattleScript_DamageNonTypesLoop::
waitmessage B_WAIT_TIME_LONG
effectivenesssound
hitanimation BS_ATTACKER
orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
tryfaintmon BS_ATTACKER
@ -10570,7 +10602,7 @@ BattleScript_DamageNonTypesLoopIncrement::
addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamageNonTypesLoop
BattleScript_DamageNonTypesContinuesEnd::
bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
end2
BattleScript_EffectTryReducePP::
@ -10803,7 +10835,7 @@ BattleScript_BerserkGeneRet_End:
BattleScript_EffectSnow::
attackcanceler
attackstring
ppreduce
ppreduce
call BattleScript_CheckPrimalWeather
setsnow
goto BattleScript_MoveWeatherChange

View File

@ -257,14 +257,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle::
goto MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt
MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle::
special ReducePlayerPartyToSelectedMons
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, SPECIAL_BATTLE_STEVEN
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
frontier_saveparty
special LoadPlayerParty
multi_2_vs_2 TRAINER_MAXIE_MOSSDEEP, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, TRAINER_TABITHA_MOSSDEEP, MossdeepCity_SpaceCenter_Text_TabithaDefeat, PARTNER_STEVEN, TRAINER_BACK_PIC_STEVEN
switch VAR_RESULT
case 1, MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha
fadescreen FADE_TO_BLACK
@ -336,14 +329,6 @@ MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest::
turnobject LOCALID_STEVEN, DIR_EAST
return
MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer::
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_MOSSDEEP, 0, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand
end
MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer::
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_MOSSDEEP, 0, MossdeepCity_SpaceCenter_Text_TabithaDefeat, MossdeepCity_SpaceCenter_Text_TabithaDefeat
end
MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall::
lockall
checkplayergender

126
docs/changelogs/1.6.2.md Normal file
View File

@ -0,0 +1,126 @@
# Version 1.6.2
```md
## 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.2`.
```
## 🌋 *IMPORTANT CHANGES* 🌋
### Battle changes
* Battler Types are now obtained via `GetBattlerType` instead of `gBattleMons[battlerId].type1/2/3` to better consider Roost. Be sure to update your custom battle effects to account for this change.
## 🧬 General 🧬
### Fixed
* Fixed Cheat Start not initiating time-based events by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3446
## 🐉 Pokémon 🐉
### Changed
* Updated Cresselia's base stats to Gen 9 by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3419
* Updated Zacian/Zamazenta base stats to Gen 9 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3421
### Fixed
* Fixed Kleavor, Hisuian Sneasel and Sneasler missing their SV abilities by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3391
* Fixed Bergmite/Avalugg old and updated egg groups being switched by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3380
## 🤹 Moves 🤹
### Changed
* Quick Draw now uses weighted RNG by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Added `IS_BATTLER_TYPELESS` macro that checks if the specified battler has no valid type by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3303
### Fixed
* Fixed Protect failing if the user flinched on the previous turn by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3345
* Fixed entry hazards not working properly being cleared on switch-in by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3316
* This includes Toxic Spikes not working if Pecha Berry actived on the previous turn.
* Fixed Roost overwriting other type changing at the end of the turn (Soak, Forest's Curse, Color Change, etc.) by @BLourenco in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
* Now it suppresses the user's Flying-type rather than remove and re-add it.
* Fixes Salt Cure visual bug if mon fainted by direct attack by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3388
* Fixed Purifying Salt not preventing the use of Rest by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Fixed Make it Rain lowering Sp. Attack twice if hitting 2 targets in double battles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3441
* Fixed Reflect Type not properly handle 3rd types by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3303
* Fixed form change triggered by switching not occuring when using moves like U-Turn or Baton Pass by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3463
* Fixed Last Resort not counting Sleep Talk as used for its effect by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
## 🎭 Abilities 🎭
### Changed
* Removed unused `STATUS3_CANT_SCORE_A_CRIT` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Moved Beads of Ruin and Sword of Ruin damage to the appropiate damage modifier functions by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
### Fixed
* Fixed Intimidate increasing the attack of both opponents if one of them has Contrary in double battles by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3365
* Fixed Battle/Shell Armor not preventing critical hits by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Fixed Rivalry's effect being reversed by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Fixed Rivalry lowering attack if either attacker or target were genderless by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Fixed missing Poison Heal Ability Popup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3385
* Fixed Parental Bond not working at all by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3417
* Fixed Beads of Ruin and Sword of Ruin damage modifiers by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
* Fixed Sheer Force not negating effects that benefit the user (eg. Flame Charge, Power-Up Punch) by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
* Fixed Strength Sap not healing the user when used on a Substitute by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3486
* Fixed Substitute showing the "took damage for" message if Strength Sap was used on it by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3486
* Fixed Weak Armor interrupting Multi Hit moves by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3497
## 🧶 Items 🧶
### Fixed
* Fixed Shiny Charm doing too many rerolls by default by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3327
* Fixed Berserk Gene activating for the wrong Pokémon double battles by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3363
* Fixed Red Card not being consumed after opponent Sticky Web activation by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Fixed implementation of Gen6 that didn't allow for the Exp Share flag to be set via script without setting the item to the Gen 6+ version by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3384
* Fixed Kee Berry raising defense by 1 stage instead of 2 by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Fixed Kee Berry incorrect stat raise message by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Fixed Razor Fang not being able to be used directly even if `I_USE_EVO_HELD_ITEMS_FROM_BAG` was set to `TRUE` by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3456
## 🧹 Cleanup 🧹
* `AbilityBattleEffects` uses `B_MSG_TERRAIN` constants for field terrain intro text by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3410
* Removed all trailing whitespace by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3472
## 🧪 Test Runner 🧪
### Added
* Flinch tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3345
* Berserk Gene double battle tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3363
* More specific Toxic Spikes tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3316
* Red Card/Sticky Web test @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Intimidate/Contrary double battle test by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3365
* Critical Hit tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Roost tests by @BLourenco in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
* Rivalry tests by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3381
* Various tests by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3385
* Defeatist, Dragon's Maw, Earth Eater, Gale Wings, Poison Heal, Rocky Payload, Sap Sipper, Steelworker and Transistor.
* Various tests by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3399
* Beast Boost, Ice Scales, Neuroforce, Purifying Salt, Quick Draw and Sharpness.
* Berry tests @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3409
* Full: Apicot, Custap, Ganlon, Jaboca, Kee, Lansat, Liechi, Maranga, Micle, Petaya, Rowap and Salac Berries.
* TODO: Starf Berry.
* Weather and type-specific tests by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3260
* Full: Freezing, Hail, Moonlight, Morning Sun, Sandstorm, Snow, Solar Beam/Blade, Steel poisoning, Synthesis, Thunder and Weather Ball.
* Partial: Prankster, Safety Goggles, Aurora Veil, Hurricane, Leech Seed and OHKO moves.
* TODO: Harvest.
* Single Parental Bond test by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3417
* Several tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3378
* Full: Weak Armor, Last Resort, Stealth Rock.
* Completed Weak Armor tests by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3493
* Partial: Defiant, Sheer Force, White Herb, Strength Sap.
### Changed
* Red Card tests now check if the item was consumed by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3364
* Tests now cannot use `i` in their cycles to avoid messing with `PARAMETRIZE` by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3408
* Moved battle tests off the heap by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3414
* Moved Powder/Grass test to `move_flags` folder by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3260
* Continuous `NOT x; NOT y;` are now not allowed in tests due to them not acting as one would expect by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3459
* Test writers should use `NONE_OF { x; y; }` instead.
### Fixed
* Fixed CreateNPCTrainerPartyForTrainer test failing on modern by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3367
* Fixed `RNG_CRITICAL_HIT` by @mrgriffin and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3377
* Fixed `ASSUMPTIONS` block not working by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3368
* Fixup by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3408
* Fixed Beads of Ruin and Sword of Ruin damage tests by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3415
* Fixes test RNG by @mrgriffin and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3433
* Fixed battle test estimateCost bug by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3448
* Test cleanup and improvements by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3449
* Removed duplicated Prankster TO_DO test.
* Corrected Multi-hit test names (4 and 5 hits stated 35% instead of 15%).
* Grouped Maranga Berry's Physical vs Special tests using PARAMETRIZE.
* Improved Jaboca, Kee and Rowap tests by @AlexOn1ine
* Fixed `ModifyPersonalityForNature` by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3452
* Fixed test_runner.c modern warning by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3451
## New Contributors
* @BLourenco made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3258
## Full Changelog
https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.6.1...expansion/1.6.2

584
docs/changelogs/1.7.0.md Normal file
View File

@ -0,0 +1,584 @@
# Version 1.7.0
```md
## 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* 🌋
### [***The Expansion now uses Modern compilers by default***](https://github.com/rh-hideout/pokeemerald-expansion/pull/3305)
* 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:
* CI now uses devkitarm container to run a more modern gcc by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3429
* Fix by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3530
* Fixed `-Wall -Werror` errors on Modern by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3412
* Fixed warnings introduced by gcc 13 by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3428
* `-Warray-bounds`
* `-Waddress`
* `-Warray-parameter`
* Fixed `-Wmaybe-uninitialized` for `ModifyPersonalityForNature` test by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3457
* ***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.
```diff
-static void Function(void)
+static void UNUSED Function(void)
```
* `unused-variable`. To solve it, remove the unused variable.
```diff
static void Function(void)
{
- u8 unused;
u8 used;
...
```
* `unused-but-set-variable`. To solve it, add `UNUSED` to the variable definition.
```diff
static void Function(void)
{
- u8 unused;
+ u8 UNUSED unused;
u8 used;
unused = DoSomething();
...
```
* Updated modern compiler install instructions by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3462
## 🧬 General 🧬
### Added
* Incorporated @TheXaman's HGSS Style Pokédex by @AaghatIsLive in https://github.com/rh-hideout/pokeemerald-expansion/pull/3288
* Includes Dark Mode
* Fix by @AaghatIsLive in https://github.com/rh-hideout/pokeemerald-expansion/pull/3479
* Updated evolution strings by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/3375
* Changes to omit adding the code when disabling the feature by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3445
* Teachable move list fix by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3624
* Incorporated @DizzyEggg's nature color branch by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3582
* Shows nature stat modifiers in summary screen.
* Added `SUMMARY_SCREEN_NATURE_COLORS` config to disable it.
* Updates stat reduction to blue to align with official implementation.
* Added `I_SELL_VALUE_FRACTION` config that changes selling factor of items to 1/4th when set to Gen 9 by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3315
* Added `P_FRIENDSHIP_EVO_THRESHOLD` config to update the Friendship evolution threshold to Gen8+'s standard by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3376
* Debug Menu
* Added `ROM Space` Utility option to check ROM space by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3453
* Added `Toggle Match Call` Flag option to toggle Match Call by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3489
* Added `Move Reminder` option by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3707
* Moved Party/Boxes related functions to their own menu by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3707
* Added expansion Rom Header by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3454
* Added defines for Expansion version number.
* Added option to see the version number in debug menu.
* Added option to restore Japan-only Walda PC backgrounds by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3550
* Added `BATTLE_PYRAMID_RANDOM_ENCOUNTERS` config to enable Battle Pyramid Wild Encounter randomization by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/2581
* Added a `GetSpeciesPreEvolution` function by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3696
### Changed
* Converted `Get(Box)MonData2` to proper functions by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3416
* Added `src/data/map_group_count.h` to `.gitignore` by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3423
* `Cheat Start` option now gives all badges and enables all Fly locations. `Fly to...` option no longer enables all Fly locations by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3489
* Better documentation for Type Effectiveness table by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3374
* Generational defines now start at `GEN_1` instead of `GEN_3` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3628
* Fixes and cleanup
* By @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3720
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3723
### Fixed
* Fixed potential Fly and Badge mismatch when using debug options by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3489
* Fixed Pokémon Animation debug menu ignoring animation delay by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
* Fixed `IS_DITTO` macro by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3558
* Added RTC failsafe to Debug menu's `Cheat Start` option by @ravepossum in https://github.com/rh-hideout/pokeemerald-expansion/pull/3561
## 🐉 Pokémon 🐉
### Added
* ***Added Generation 9 species up to Teal Mask*** by @leo60228, @AlexOn1ine, @katykat5099, @kittenchilly and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3249
* ***IMPORTANT:*** Enabling Gen 9 species currently break saves. If you don't want to use them, you can disable `P_GEN_9_POKEMON` in `include/config/species_enabled.h`.
* Reserved Indigo Disk IDs
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3725
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3726
* By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3727
* Reserved Form IDs that will be supported in future versions by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3750
* Shadow Lugia
* Totem Forms
* Partner Pikachu and Eevee
* Updated UIs to support 4-digit Dex numbers.
* Added Dunsparce and Tandemaus evolution methods by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3547
* Tandemaus still does the evolution cutscene for now.
* Ported newer PokéCommunity sprites by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3643 and https://github.com/rh-hideout/pokeemerald-expansion/pull/3646
* Fixes and cleanup
* By @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3539
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3655 and https://github.com/rh-hideout/pokeemerald-expansion/pull/3749
* By @katykat5099 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3751
* ***Adjusted Pokemon sprites and palettes - Part 2*** by @CyanSMP64 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3612
* From Magnemite to Tangela + Hitmontop + Nidoking adjustment by MrDollSteak.
* Corrected sprite sizes and elevations
* Further palette adjustments by @CyanSMP64 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3744
* Pidgeotto, Tentacruel, Feraligatr, Furret, Flaaffy, Marill, Azumarill and Miltank.
* Added missing Alcremie forms by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3469
* Previously, only Strawberry Sweet forms were available
* Missing: Icons for non-Ruby Cream forms.
* Cleanup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3488
* Added species define synonyms for base forms with form names by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3248
* Eg. `SPECIES_GIRATINA_ALTERED` is equal to `SPECIES_GIRATINA`.
* The original defines can be used in combination of `GET_BASE_SPECIES_ID(species)` to check for the whole species instead of specific forms.
* Added Gen 7 Pokémon 2nd frames and animations by @katykat5099 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3426
* Rowlet family
* Pikipek family
* Cutiefly family
* Rockruff family
* Oranguru
* Passimian
* Fixed its shiny palette.
* Togedemaru
* Drampa
* Jangmo-O family
* Added Gen 6 Pokémon 2nd frames and animations by @katykat5099 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3543
* Chespin
* Bunnelby
* Fletchling family
* Floette family
* Added missing 2nd frame for Eternal Flower Form.
* Amaura
* Added mising World Cap Pikachu icon by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3401
* Added `P_CUSTOM_GENDER_DIFF_ICONS` config to use custom female icon sprites for Pikachu and Wobbuffet by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3506
* Removed `P_HIPPO_GENDER_DIFF_ICONS` in favor of Hippopotas and Hippowdon to use this new config.
* Added `P_UPDATED_FRIENDSHIP` config that updates Pokémon base friendship to Gen 8+ standards by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3491
### Changed
* ***Species Simplifier™*** (Parts [1](https://github.com/rh-hideout/pokeemerald-expansion/pull/3544), [2](https://github.com/rh-hideout/pokeemerald-expansion/pull/3546) and [3](https://github.com/rh-hideout/pokeemerald-expansion/pull/3562))
* **Moved most data to `gSpeciesInfo`**
* Species names
* Cries
* 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`.
* 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`.
* 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`.
* Missing Pokédex texts for forms by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3708
* Level Up and Teachable learnset pointers are now stored in `gSpeciesInfo`.
* Evolutions are now stored as compound literals in `gSpeciesInfo`.
* Fix by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3696
* Form tables pointers are now stored in `gSpeciesInfo`.
* **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
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3722
* 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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3729
* Fixes and cleanup
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3656
* By @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3698
* Updated `P_UPDATED_ABILITIES` Gen 9's config for Piplup's line, Gallade and Shiftry by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3458
* Applied missing uses of `PLACEHOLDER_ANIM_SINGLE_FRAME` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
* Renamed `PLACEHOLDER_TWO_FRAME_ANIMATION` to `PLACEHOLDER_ANIM_TWO_FRAMES` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3562
* Removed Old Unown Level Up Learnsets by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3369
* Dusk Ball and Form changes also use this function by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3585
* Added config for different times of day ranges by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3579
* Fixes and cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3648 and https://github.com/rh-hideout/pokeemerald-expansion/pull/3701
### Fixed
* Fixed Koffing and Weezing's abilities ignoring `P_UPDATED_ABILITIES` config and always using Gen8's config by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3353
* Fixed Pumpkaboo macro typo by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3541
* Multiple fixes by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3548
* Fixes Hisuian Sneasel's type order by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3706
## ⚔️ Battle General ⚔️ ##
### Added
* ***Dynamax*** by @AgustinGDLV and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/2417 + Tests
* Requires a Dynamax Band in the bag and for the `B_FLAG_DYNAMAX_BATTLE` flag to be assigned and set.
* Pokémon holding a Mega Stone or Z-Crystal can't Dynamax.
* Gigantamax forms.
* G-Max Moves.
* Forms determined using the Form Change tables.
* `P_GIGANTAMAX_FORMS` config to disable those forms.
* Since we currently don't modify the `BoxPokemon` struct:
* Dynamax levels are set to 0 (1.5x HP increase)
* Species always change into their Gigantamax Forms.
* AI Dynamaxes the last Pokémon left in their party.
* Instances where HP/Max HP percentages are used now use `GetNonDynamaxHP` and `GetNonDynamaxMaxHP` respectively.
* Trainer slide-in messages by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3581
* Fixes and cleanup
* By @AsparagusEduardo in
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3435
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3510
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3713
* By @AlexOn1ine in
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3464
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3470
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3541
* Added support for Sky Battles by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/2950
* Requires both `B_FLAG_SKY_BATTLE` and `B_VAR_SKY_BATTLE` to be assigned.
* Use the `TrySkyBattle` special in scripts to check if the player can participate in a Sky Battle and readies the party if it's succesful. Saves the result in VAR_RESULT.
```
Route123_EventScript_Alberto_Battle_Event_Script:
msgbox Route123_EventScript_Alberto_Text_AskSkyBattle, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route123_EventScript_Alberto_DenySkyBattle
special TrySkyBattle
compare VAR_RESULT, TRUE
goto_if_eq Route123_EventScript_Alberto_StartBattle
msgbox Route123_EventScript_Alberto_Text_No_Flying_Pokemon
closemessage
release
end
```
* The `B_SKY_BATTLE_STRICT_ELIGIBILITY` config will restrict certain Pokémon from participating based on XY's list when enabled. By default is disabled and allows all Pokémon that are Flying-type and/or have Levitate as their ability.
* Banned moves are defined by the `skyBattleBanned` flag. Besides moves banned officially in XY, Gen7+ moves are added via `B_EXTRAPOLATED_MOVE_FLAGS` config by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3714
* Effects that interact with grounded battlers do not happen in Sky Battles.
* Fix by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/3617
* Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3621
* Added `B_TOXIC_REVERSAL` config to revert bad poison to regular poison at the end of battles by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3605
* Added `B_SANDSTORM_SPDEF_BOOST` config to disable Sandstorm's Sp. Defense boost for Rock-type Pokémon when set to `GEN_3` or less by @Petuuuhhh in https://github.com/rh-hideout/pokeemerald-expansion/pull/3387
* Added `B_QUICK_MOVE_CURSOR_TO_RUN` config to allow a B Button shortcut for moving the cursor to the run option in Wild Battles by @voloved in https://github.com/rh-hideout/pokeemerald-expansion/pull/3362
* Added `B_TRY_CATCH_TRAINER_BALL` config to disable losing the Poké Ball used to try to catch a Trainer's Pokémon by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3684
* Added `P_CATCH_CURVE` config that updates catch calculations to Gen 6+ by @AtariDreams in https://github.com/rh-hideout/pokeemerald-expansion/pull/3685
* Added Snow weather animation by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3440
* Added a `flushtextbox` macro to flush the text box in battles by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3442
### Changed
* Removed redundant Battle Types by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 `if`s by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3392
* Removed pointless for loop in CB2_InitBattleInternal by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3422
* Refactored Battle Frontier bans to check the base species by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3465
* Better support for adding new species.
* Also adds Gen4+ [Special Pokémon](https://bulbapedia.bulbagarden.net/wiki/Special_Pok%C3%A9mon) to the list.
* Obedience levels now increase per badge by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3607
### Fixed
* Fixed Psychic Terrain blocking moves that target all battler or all opponents by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3521
* Fixed issue with "Cycle through Poké Balls" feature not working properly by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3534
* Fixed Burmy not transforming at the end of battle if it didn't switch in during a Single Battle by @benicioneto in https://github.com/rh-hideout/pokeemerald-expansion/pull/3728
* Fixed Player Partner not playing its Shiny animation by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/3757
## 🤹 Moves 🤹
### Added
* Added Teal Mask Moves by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3402 + Tests
* Matcha Gotcha
* Syrup Bomb
* Animation by @SonikkuA-DatH and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3474
* Fixes by @AlexOn1ine in
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* https://github.com/rh-hideout/pokeemerald-expansion/pull/3552
* Ivy Cudgel
* Type is shown in interfaces by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3590
* Tweaks and fixes
* By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3721
* Fixed Ivy Cudgel test name by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3742
* Added Glaive Rush's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3476
* Added Raging Bull's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3552
* Added Chilly Reception's effect by @RapidNutcracker in https://github.com/rh-hideout/pokeemerald-expansion/pull/3379
* Added Rage Fist's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3573
* Added define synonyms (eg. `MOVE_VICE_GRIP` vs the current `MOVE_VISE_GRIP`) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3580
* Added combined Pledge move effects by @AlexOn1ine, @Skeli789 and @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3336
* Status animations by @SonikkuA-DatH
* Added `B_WIDE_GUARD` and `B_QUICK_GUARD` configs for Wide Guard and Quick Guard to fail when used consecutively in Gen 5 by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3614
* Added `B_IMPRISON` config that makes Imprison not fail if opposin Pokémon don't have any moves that the user knows from Gen 5 onwards by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3710
### 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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3425
* Simplified Octolock script and converted its `various` to `callnative` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* Added `CanAbilityPreventStatLoss` to centralize stat lowering immunities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* Fixed multiple abilities not showing the ability name in their message.
* Renamed `EFFECT_SMELLINGSALT` to `EFFECT_SMELLING_SALTS` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3504
* New move animations by @Captain-Ford and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3476
* Battle Dome points are now based on move data instead of being arbitrarily assigned by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3596
### Fixed
* Multiple Relic Song fixes by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3476
* Fixed Acid and Crunch move descriptions being updated by `B_UPDATED_MOVE_DATA` alongside their effects by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3586
* Fixed Howl buffing the user's ally if they have Soundproof by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3593
* Fixed Floral Healing not increasing its effect on Grassy Terrain + Tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3604
* Fixed Spirit Shackle/Anchor Shot not trapping the targets by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3668
* Fixed Defog not consuming PP if the foe has -6 evasion by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3668
* Fixed Mirror Coat being able to reflect Pain Split damage by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3668
* Fixed incorrect Fling damage calculation due to the item being removed before them by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3670
* Fixed Z-Moves using the base move's priority by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3690
* Fixed Metal Burst, Trump Card and Comeuppance not being considered as damaging moves by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3697
* Fixed Fiery Wrath animation bug that caused the user to flip upside down by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3739
* Fixed Baton Pass not passing Embargo's remaining turns by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3745
* Fixed Raging Fury not causing rampage on user by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3754
## 🎭 Abilities 🎭
### Added
* Added Opportunist + Tests by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/2994
* Added Zero to Hero + Tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3542
* Fix by @AlexOn1ine https://github.com/rh-hideout/pokeemerald-expansion/pull/3552
* Added `B_ILLUMINATE_EFFECT` config for Illuminate's Gen9 effect by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3482
* Added `B_WEAK_ARMOR_SPEED` config for Weak Armor's Gen 5-6 effect by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3498
* Added `B_PROTEAN_LIBERO` config for Protean/Libero only triggering once per switch-in as of Gen 9 by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3614
* Added `B_INTREPID_SWORD` and `B_DAUNTLESS_SHIELD` configs for Intrepid Sword and Dauntless Sword only triggering once per battle by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3614
* Added configs for disabling ability overworld effects as of Gen 9 by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3480
* Synchronize, Compound Eyes, Super Luck, Cute Charm, Illuminate, Infiltrator, Harvest, Lightning Rod, Storm Drain, Flash Fire, Magnet Pull and Static.
* Àbility data (not yet functional) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3349
* Hospitality
* Mind's Eye
* Embody Aspect (one ability per effect)
* Toxic Chain
* Supersweet Syrup
### Changed
* Pickup Table has been changed so that their percentages can be customized more easily, by @kittenchilly and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3351
* The data has been changed to Sword & Shield's.
* Moved `B_SYNCHRONIZE_NATURE` to `include/config/overworld.h` and renamed it to `OW_SYNCHRONIZE_NATURE` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3480
### Fixed
* Fixed Synchronize not working with Gift Pokémon and scripted Wild Battles by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3480
* Fixed Anger Shell being triggered multiple times by multi-hit moves by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3508
* Fixed Absorbing abilities not cancelling multi-hit moves + Tests (eg. Sap Sipper vs Bullet Seed) by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3516
* Fixed issue that caused Shadow Tag to not work by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/3549
* Fixed assumption that `gLastUsedAbility` is `u8` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3569
* Fixes Protosynthesis and Quark Drive ability pop up appearing more than once by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3595
* Fixed Trace not triggering when switching in by secondary effects like U-Turn, Eject Pack or Explosion by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3623
* Fixed Defiant not being triggered by Cotton Down interaction by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3657
* Fixed self-targeted moves triggering Stamina, like Substitute by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3669
* Fixed Quick Draw not working properly by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3724
* Fixed Neutraling Gas switch-out combined with Electric Surge causing a visual glitch by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3746
* Fixed Innards Out damaging Pokémon with Magic Guard by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3758
* Fixed Innards Out damaging Pokémon despite being suppressed by Gastro Acid by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3758
## 🧶 Items 🧶
### Added
* Repeated Medicine usage by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3005
* You can use multiple medicine items in a row without going back to the bag menu. Supports Rare and Exp. Candies.
* Added `B_LIGHT_BALL_ATTACK_BOOST` config to disable Light Ball's Pshycal Attack boost when set to `GEN_3` or less by @Petuuuhhh in https://github.com/rh-hideout/pokeemerald-expansion/pull/3387
* Added Teal Mask items by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3349
* Sprites (except for Fairy Feather) by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/3527
* Fairy Feather by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3520
* Sprite by [Anarlaurendil on Deviantart](https://www.deviantart.com/anarlaurendil/art/Fairy-Feather-pixel-art-icon-Pokemon-986417461).
* Despite being introduced in Gen 9, it's still affected by the `I_TYPE_BOOST_POWER` config to be consistent with other type items (10% boost when set to Gen 3).
* Evolution items
* Syrupy Apple
* Unremarkable Teacup
* Masterpiece Teacup
* Form change items
* Cornerstone Mask
* Wellspring Mask
* Hearthflame Mask
* EV modifier items
* Health Mochi
* Muscle Mochi
* Resist Mochi
* Genius Mochi
* Clever Mochi
* Swift Mochi
* Fresh Start Mochi
* Glimmering Charm
* Since there's no raids, it currently does nothing.
* Implemented Rotom Catalog and Zygarde Cube by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3284
* Zygarde Cube follows Gen 8 functionality, where it allows to change Form and Ability but not teach moves.
* Rotom Catalog follows non-BDSP functionality, where all forms don't need to be unlocked.
* Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3700
* Implemented support for Fusion items by @TeamAquasHideout and @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3274
* Items:
* DNA Splicers
* N-Solarizer
* N-Lunarizer
* Reins of Unity
* Fused mon are stored at the end of in `PokemonStorage`.
* Fixes by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3602
* Fixes and cleanup
* By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3644
* By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3692
* Ported pokefirered's Vs. Seeker by @Jaizu @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/3256
* Requires `I_VS_SEEKER_CHARGING` flag to be assigned.
* Cleanup by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3718
* Added define synonyms (eg. `ITEM_STICK` vs the current `ITEM_LEEK`) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3580
### Changed
* Removed unused holdEffectParam for items that double the amount of money gained in battle by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3528
* Using the name `Parcel` instead of `Oak's Parcel` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3580
* Repel/Lure menu improvements @Jaizu and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/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
* Fixed healing berries activating before Knock Off by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3509
* Fixed crash damage triggering Eject Button by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3669 and https://github.com/rh-hideout/pokeemerald-expansion/pull/3738
* Fixed Quick Claw not reading `holdEffectParam` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3737
* Fixed Life Orb causing recoil when swapped via Magician when it shouldn't by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3753
## 🤖 Battle AI 🤖
* Added AI Tests
* By @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3515
* AI won't use Solar Beam if there is no Sun up or the user is not holding Power Herb.
* By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3583
* AI chooses moves with secondary effect that have a 100% chance to trigger
* Cleanup by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3748
* Smarter SwitchAI Mon Choices + `HasBadOdds` Switch Check by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/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 https://github.com/rh-hideout/pokeemerald-expansion/pull/3557
### Changed
* By @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3199
* Using move flags instead of lists for AI calculations by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3389
* Remove redundant AI score increases by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3504
* Remove `GetMoveDamageResult` function by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3536
### Fixed
* Fixed AI randomly choosing moves if they're both super effective by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3361
## 🧹 Other Cleanup 🧹
* Remove all trailing whitespace (upcoming) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3473
* Debug menu cleanup and documentation by @AsparagusEduardo and @sphericalice in https://github.com/rh-hideout/pokeemerald-expansion/pull/3390
* Removed `powerfulMoveEffects` array by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3515
* Added `-Woverride-init` Makefile flag that agbcc has by default by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3535
* Fixed static variable names by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3637
* Fixed config descriptions
* By @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3717
* Fixed mistmatching `gBattleTextBuff3` definitions by @GraionDilach in https://github.com/rh-hideout/pokeemerald-expansion/pull/3719
## 🧪 Test Runner 🧪
### Added
* Added support for wild battle tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3342
* Added support for AI battle tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3361
* Experience tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3342
* Catching Pokémon gives experience.
* Higher leveled Pokémon give more experience.
* Lucky Egg boosts gained exp points by 50%.
* Exp is scaled to player and opponent's levels.
* Large exp gains are supported
* Held Exp. Share gives Experience to mons which did not participate in battle
* Added additional damage formula test by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* Added Octolock tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* Added Defiant/Sticky Web interaction test by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3516
* Added Embargo tests by @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/3555
* Added missing Hyper Cutter tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3437
* Added missing Anger Shell tests by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3508
* Added missing White Herb tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/3611
* Added `SpeciesInfo` integrity tests by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3688
### Changed
* Moved battle tests off the heap by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3413
* Automatic `ASSUMPTION_FAIL` in tests when used species are disabled.
* Because of this, instances of `ASSUME(P_GEN_x_POKEMON == TRUE)` have been removed.
* Updated Gen 9-mon-exclusive ability tests to use Gen 9 mon by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3733
### Fixed
* Fixed VSCode error shenanigans when viewing tests by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3383
* Fixed broken move animations in test replays by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/3398
* Performance improvement for test name matching by @jiangzhengwenjz in https://github.com/rh-hideout/pokeemerald-expansion/pull/3559
* Fixed Ice Heal test name typo by @AtariDreams in https://github.com/rh-hideout/pokeemerald-expansion/pull/3676
## 📦 Pret merges 📦
* 2023-10-02 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3372
* Slight RTC documentation + Evolution times constants (https://github.com/pret/pokeemerald/pull/1925)
* Add friendship evo threshold constant (https://github.com/pret/pokeemerald/pull/1928)
* Solved a bunch of -Wall errors on modern (https://github.com/pret/pokeemerald/pull/1926)
* 2023-10-27 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3471
* Add some task/sprite data defines (https://github.com/pret/pokeemerald/pull/1915)
* Fix mini_printf encoded string -Werror=pointer-sign warning (https://github.com/pret/pokeemerald/pull/1938)
* Remove all trailing whitespace (https://github.com/pret/pokeemerald/pull/1937)
* Use BUGFIX in assembly files (https://github.com/pret/pokeemerald/pull/1935)
* 2023-12-10 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3675
* Delete the redundant files generated after running build (https://github.com/pret/pokeemerald/pull/1944)
* Rename `EGG_GROUP_UNDISCOVERED` egg group to `EGG_GROUP_NO_EGGS_DISCOVERED` (https://github.com/pret/pokeemerald/pull/1939)
* Renamed `SendMonToPC` to `CopyMonToPC` (https://github.com/pret/pokeemerald/pull/1940)
* Document `datahpupdate` (https://github.com/pret/pokeemerald/pull/1936)
* Renamed `HITMARKER_IGNORE_SAFEGUARD` to `HITMARKER_STATUS_ABILITY_EFFECT` (https://github.com/pret/pokeemerald/pull/1959)
* Moved files (https://github.com/pret/pokeemerald/pull/1953)
* Spinda Spots
* JP Fonts
* `redyellowgreen_frame.bin`
* [Build System Rewrite] Linkerscript now tracks RAM/ROM usage (https://github.com/pret/pokeemerald/pull/1952)
* Fixed ld_script.ld artifact from a previous pret version by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3731
* Updated the size of the `struct InGameTrade`'s `otName` variable (https://github.com/pret/pokeemerald/pull/1962)
<!-- BELOW IS ALL THAT HASN'T BEEN SORTED-->
## New Contributors
* @Petuuuhhh made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3387
* @katykat5099 made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3426
* @leo60228 made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3249
* @hedara90 made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3527
* @jiangzhengwenjz made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3559
* @ravepossum made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3561
* @RapidNutcracker made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3379
* @GraionDilach made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3624
* @AtariDreams made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/3676
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.6.2...expansion/1.7.0
<!--Last PR: 3697-->

View File

@ -7,6 +7,8 @@
static void *sHeapStart;
static u32 sHeapSize;
EWRAM_DATA u8 gHeap[HEAP_SIZE] = {0};
void PutMemBlockHeader(void *block, struct MemBlock *prev, struct MemBlock *next, u32 size)
{
struct MemBlock *header = (struct MemBlock *)block;

View File

@ -1,7 +1,6 @@
#ifndef GUARD_ALLOC_H
#define GUARD_ALLOC_H
#define HEAP_SIZE 0x1C000
#define FREE_AND_SET_NULL(ptr) \
{ \
@ -42,7 +41,8 @@ struct MemBlock
u8 data[0];
};
extern u8 gHeap[];
#define HEAP_SIZE 0x1C000
extern u8 gHeap[HEAP_SIZE];
#if TESTING || !defined(NDEBUG)

View File

@ -281,7 +281,7 @@ EWRAM_DATA static bool8 sShouldProcessSpriteCopyRequests = 0;
EWRAM_DATA static u8 sSpriteCopyRequestCount = 0;
EWRAM_DATA static struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITES] = {0};
EWRAM_DATA u8 gOamLimit = 0;
static EWRAM_DATA u8 gOamDummyIndex = 0;
static EWRAM_DATA u8 sOamDummyIndex = 0;
EWRAM_DATA u16 gReservedSpriteTileCount = 0;
EWRAM_DATA static u8 sSpriteTileAllocBitmap[128] = {0};
EWRAM_DATA s16 gSpriteCoordOffsetX = 0;
@ -292,7 +292,7 @@ EWRAM_DATA bool8 gAffineAnimsDisabled = FALSE;
void ResetSpriteData(void)
{
ResetOamRange(0, 128);
gOamDummyIndex = 0;
sOamDummyIndex = 0;
ResetAllSprites();
ClearSpriteCopyRequests();
ResetAffineAnimData();
@ -405,9 +405,9 @@ void BuildOamBuffer(void)
break;
}
for (i = oamIndex; i < gOamDummyIndex; i++)
for (i = oamIndex; i < sOamDummyIndex; i++)
gMain.oamBuffer[i] = gDummyOamData;
gOamDummyIndex = oamIndex;
sOamDummyIndex = oamIndex;
for (i = 0; matrices != 0; i++, matrices >>= 1)
{
@ -751,9 +751,17 @@ void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFram
{
if (sSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
sSpriteCopyRequests[sSpriteCopyRequestCount].src = images[index].data;
if (!images[0].relativeFrames)
{
sSpriteCopyRequests[sSpriteCopyRequestCount].src = images[index].data;
sSpriteCopyRequests[sSpriteCopyRequestCount].size = images[index].size;
}
else
{
sSpriteCopyRequests[sSpriteCopyRequestCount].src = images[0].data + images[0].size * index;
sSpriteCopyRequests[sSpriteCopyRequestCount].size = images[0].size;
}
sSpriteCopyRequests[sSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
sSpriteCopyRequests[sSpriteCopyRequestCount].size = images[index].size;
sSpriteCopyRequestCount++;
}
}

View File

@ -26,11 +26,13 @@ struct SpriteFrameImage
{
const void *data;
u16 size;
bool8 relativeFrames;
};
#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr}
#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame * 64)/2, .size = (width * height * 64)/2}
#define overworld_ascending_frames(ptr, width, height) {.data = (u8 *)ptr, .size = (width * height * 64)/2, .relativeFrames=TRUE}
struct SpritePalette
{

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
48 80 144
72 144 224
112 184 248
16 49 90
8 98 172
90 156 238
16 16 16
152 0 8
200 40 0
232 80 0
80 176 240
148 16 16
189 41 49
222 65 82
49 131 197
248 248 248
168 48 32
120 200 232
232 128 120
192 192 208
216 224 248
115 180 246
222 65 82
197 197 213
213 222 246
80 176 208

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

After

Width:  |  Height:  |  Size: 451 B

View File

@ -11,7 +11,7 @@ JASC-PAL
217 216 147
104 97 60
158 154 87
144 196 144
230 228 167
40 48 40
224 135 8
66 115 147

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 548 B

View File

@ -14,6 +14,6 @@ JASC-PAL
199 117 5
255 255 255
243 189 3
153 211 165
14 64 173
238 13 36
0 0 0
16 88 254

View File

@ -13,7 +13,7 @@ JASC-PAL
27 33 35
199 117 5
255 255 255
243 189 3
153 211 165
33 252 217
14 64 173
33 174 217
0 0 0
16 88 254

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 570 B

View File

@ -4,7 +4,7 @@ JASC-PAL
255 163 177
167 163 122
248 238 187
28 41 22
64 63 48
255 254 232
16 16 16
85 215 253
@ -14,6 +14,6 @@ JASC-PAL
138 138 112
34 35 40
50 57 67
52 69 61
64 62 47
75 86 92
226 233 215

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 581 B

View File

@ -13,7 +13,7 @@ JASC-PAL
165 165 165
255 252 201
222 223 221
56 144 200
222 223 221
248 252 248
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -6,10 +6,10 @@ JASC-PAL
255 139 131
16 16 16
246 82 90
41 74 139
90 180 246
57 139 205
139 213 255
8 106 148
65 213 238
41 156 189
139 238 255
255 255 255
197 197 197
255 230 139

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 544 B

View File

@ -4,7 +4,7 @@ JASC-PAL
152 208 160
61 77 167
118 138 252
136 216 224
139 158 254
79 100 235
170 181 211
208 236 240

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -2,17 +2,17 @@ JASC-PAL
0100
16
152 208 160
189 189 213
180 180 213
255 255 255
131 115 139
222 230 246
205 222 246
16 16 16
74 74 90
222 65 98
255 164 164
255 115 115
255 189 189
164 0 16
213 98 123
255 180 205
255 139 156
255 205 213
139 32 49
82 131 197
82 131 197
131 197 255

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 475 B

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
153 210 164
114 133 134
63 103 103
191 220 223
150 185 190
75 114 106
52 74 64
134 186 173
116 161 150
175 155 10
249 216 0
222 223 222
15 15 15
156 151 156
100 145 142
146 180 177
114 94 22
255 181 9
209 147 16
142 187 183
194 231 233
143 103 130
255 179 230
255 143 219
118 152 148

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 693 B

View File

@ -3,17 +3,17 @@ JASC-PAL
16
152 208 160
82 41 32
230 197 74
213 180 106
123 65 57
32 32 41
197 156 65
255 238 148
16 16 16
238 213 164
156 98 74
197 156 65
172 131 41
255 255 197
255 255 255
248 248 248
115 115 115
156 0 0
255 148 98
120 64 56
0 0 0
0 0 0

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
112 0 56
248 176 184
160 48 104
32 32 40
232 152 160
248 232 216
216 88 136
216 112 120
248 232 240
115 0 57
255 180 189
164 49 106
16 16 16
255 238 222
222 90 139
238 156 164
222 115 123
255 238 246
248 248 248
112 112 112
152 0 0
248 144 96
120 64 56
115 115 115
156 0 0
255 148 98
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 B

After

Width:  |  Height:  |  Size: 382 B

View File

@ -4,16 +4,16 @@ JASC-PAL
152 208 160
63 171 181
40 89 112
96 204 248
201 245 240
136 247 236
44 49 56
96 132 152
152 204 216
248 248 48
16 16 16
81 96 158
64 44 96
129 159 225
216 184 232
70 117 212
36 70 138
108 146 229
141 168 227
67 78 94
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 636 B

View File

@ -5,14 +5,14 @@ JASC-PAL
53 103 115
16 16 16
217 255 247
99 191 188
16 24 96
184 255 240
32 111 131
87 222 219
65 143 199
80 156 240
56 48 104
133 144 249
87 88 181
78 187 217
163 255 235
28 81 186
92 144 249
63 119 232
32 40 80
48 68 120
120 152 184

Binary file not shown.

Before

Width:  |  Height:  |  Size: 849 B

After

Width:  |  Height:  |  Size: 949 B

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
40 152 240
112 200 248
168 232 248
48 80 184
72 168 240
144 24 0
216 72 0
240 128 0
49 106 172
90 156 238
123 180 246
24 57 115
65 131 205
148 16 16
189 41 49
222 65 82
16 16 16
248 248 248
224 224 232
56 64 64
200 200 216
197 230 238
98 98 98
180 197 205
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
200 200 248
72 88 96
16 16 16
90 90 98
0 0 0
248 248 248
112 120 128
40 48 56
152 88 96
248 176 192
200 176 96
224 128 152
104 56 64
32 88 192
248 192 208
232 240 168
88 88 56
216 200 120
172 172 180
49 49 49
156 98 106
246 180 164
213 172 115
213 139 131
106 65 65
32 123 205
238 213 189
255 238 180
115 98 57
255 213 131

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 700 B

View File

@ -15,5 +15,5 @@ JASC-PAL
224 164 152
96 40 56
128 68 72
88 184 232
0 0 0
32 115 229
26 97 189

View File

@ -6,7 +6,7 @@ JASC-PAL
135 199 210
102 157 165
16 16 16
240 132 128
153 216 224
112 92 96
160 144 144
200 192 192
@ -15,5 +15,5 @@ JASC-PAL
206 182 159
96 40 56
128 68 72
59 112 145
0 0 0
21 76 148
17 59 115

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 464 B

View File

@ -4,7 +4,7 @@ JASC-PAL
152 208 160
61 77 167
118 138 252
136 216 224
139 158 254
79 100 235
170 181 211
208 236 240

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 878 B

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 694 B

After

Width:  |  Height:  |  Size: 701 B

View File

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 111 B

View File

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 112 B

View File

Before

Width:  |  Height:  |  Size: 99 B

After

Width:  |  Height:  |  Size: 99 B

View File

Before

Width:  |  Height:  |  Size: 99 B

After

Width:  |  Height:  |  Size: 99 B

View File

Before

Width:  |  Height:  |  Size: 535 B

After

Width:  |  Height:  |  Size: 535 B

View File

Before

Width:  |  Height:  |  Size: 881 B

After

Width:  |  Height:  |  Size: 881 B

View File

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 389 B

View File

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 569 B

View File

Before

Width:  |  Height:  |  Size: 895 B

After

Width:  |  Height:  |  Size: 895 B

View File

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 391 B

View File

Before

Width:  |  Height:  |  Size: 488 B

After

Width:  |  Height:  |  Size: 488 B

View File

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 805 B

View File

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -7,10 +7,10 @@ JASC-PAL
246 65 82
180 41 32
131 16 16
168 160 176
128 120 136
120 112 120
96 96 104
230 213 164
180 172 115
131 131 65
82 82 32
200 200 200
131 205 230
106 180 230

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 399 B

View File

@ -2,17 +2,17 @@ JASC-PAL
0100
16
152 208 160
156 122 24
184 180 192
232 228 224
173 111 11
214 150 13
255 185 8
248 252 248
16 16 16
194 150 45
120 44 64
252 202 77
232 92 112
8 41 123
49 82 164
62 54 173
44 39 125
100 91 220
79 67 222
56 80 72
80 112 104
120 156 136
152 184 168
0 0 0

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 464 B

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

After

Width:  |  Height:  |  Size: 700 B

View File

@ -3,14 +3,14 @@ JASC-PAL
16
152 208 160
55 58 158
248 120 152
110 113 194
40 33 117
248 252 248
75 79 197
16 16 16
134 61 19
242 158 69
203 102 24
139 65 9
237 151 45
201 108 14
48 48 56
64 72 88
104 128 128

1
graphics/unused/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
redyellowgreen_frame.bin

View File

@ -20,7 +20,7 @@ JPCONTESTGFXDIR := graphics/contest/japanese
POKEDEXGFXDIR := graphics/pokedex
STARTERGFXDIR := graphics/starter_choose
NAMINGGFXDIR := graphics/naming_screen
SPINDAGFXDIR := graphics/spinda_spots
SPINDAGFXDIR := graphics/pokemon/spinda/spots
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark fairy
contest_types := cool beauty cute smart tough
@ -253,10 +253,10 @@ $(FONTGFXDIR)/short.fwjpnfont: $(FONTGFXDIR)/japanese_short.png
$(FONTGFXDIR)/braille.fwjpnfont: $(FONTGFXDIR)/braille.png
$(GFX) $< $@
$(FONTGFXDIR)/frlg_male.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_male_font.png
$(FONTGFXDIR)/frlg_male.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_male.png
$(GFX) $< $@
$(FONTGFXDIR)/frlg_female.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_female_font.png
$(FONTGFXDIR)/frlg_female.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_female.png
$(GFX) $< $@

View File

@ -15,6 +15,7 @@
#include "pokeball.h"
#include "battle_debug.h"
#include "battle_dynamax.h"
#include "random.h" // for rng_value_t
// Used to exclude moves learned temporarily by Transform or Mimic
#define MOVE_IS_PERMANENT(battler, moveSlot) \
@ -44,6 +45,9 @@
#define BATTLE_BUFFER_LINK_SIZE 0x1000
// Special indicator value for shellBellDmg in SpecialStatus
#define IGNORE_SHELL_BELL 0xFFFF
struct ResourceFlags
{
u32 flags[MAX_BATTLERS_COUNT];
@ -56,6 +60,7 @@ struct ResourceFlags
#define RESOURCE_FLAG_TRACED 0x10
#define RESOURCE_FLAG_EMERGENCY_EXIT 0x20
#define RESOURCE_FLAG_NEUTRALIZING_GAS 0x40
#define RESOURCE_FLAG_ICE_FACE 0x80
struct DisableStruct
{
@ -63,8 +68,8 @@ struct DisableStruct
u32 transformedMonOtId;
u16 disabledMove;
u16 encoredMove;
u8 protectUses;
u8 stockpileCounter;
u8 protectUses:4;
u8 stockpileCounter:4;
s8 stockpileDef;
s8 stockpileSpDef;
s8 stockpileBeforeDef;
@ -110,6 +115,7 @@ struct DisableStruct
u8 steelSurgeDone:1;
u8 weatherAbilityDone:1;
u8 terrainAbilityDone:1;
u8 usedProteanLibero:1;
};
struct ProtectStruct
@ -158,6 +164,7 @@ struct ProtectStruct
u16 silkTrapped:1;
u16 eatMirrorHerb:1;
u16 activateOpportunist:2; // 2 - to copy stats. 1 - stats copied (do not repeat). 0 - no stats to copy
u16 usedAllySwitch:1;
u32 physicalDmg;
u32 specialDmg;
u8 physicalBattlerId;
@ -166,7 +173,7 @@ struct ProtectStruct
struct SpecialStatus
{
s32 dmg;
s32 shellBellDmg;
s32 physicalDmg;
s32 specialDmg;
u8 physicalBattlerId;
@ -203,6 +210,7 @@ struct SpecialStatus
// End of byte
u8 emergencyExited:1;
u8 afterYou:1;
u8 magicianStolen:1; // So that Life Orb doesn't activate after Magician steals it.
};
struct SideTimer
@ -539,7 +547,7 @@ struct ZMoveData
u8 active:1; // is z move being used this turn
u8 zStatusActive:1;
u8 healReplacement:1;
u8 activeSplit:2; // active z move split
u8 activeCategory:2; // active z move category
u8 zUnused:1;
u8 triggerSpriteId;
u8 possibleZMoves[MAX_BATTLERS_COUNT];
@ -548,7 +556,7 @@ struct ZMoveData
u8 used[MAX_BATTLERS_COUNT]; //one per bank for multi-battles
u16 toBeUsed[MAX_BATTLERS_COUNT]; // z moves per battler to be used
u16 baseMoves[MAX_BATTLERS_COUNT];
u8 splits[MAX_BATTLERS_COUNT];
u8 categories[MAX_BATTLERS_COUNT];
};
struct DynamaxData
@ -560,8 +568,8 @@ struct DynamaxData
bool8 dynamaxed[MAX_BATTLERS_COUNT];
u8 dynamaxTurns[MAX_BATTLERS_COUNT];
u8 usingMaxMove[MAX_BATTLERS_COUNT];
u8 activeSplit;
u8 splits[MAX_BATTLERS_COUNT];
u8 activeCategory;
u8 categories[MAX_BATTLERS_COUNT];
u16 baseMove[MAX_BATTLERS_COUNT]; // base move of Max Move
u16 lastUsedBaseMove;
u16 levelUpHP;
@ -573,6 +581,13 @@ struct LostItem
u16 stolen:1;
};
#if HQ_RANDOM == TRUE
struct BattleVideo {
u32 battleTypeFlags;
rng_value_t rngSeed;
};
#endif
struct BattleStruct
{
u8 turnEffectsTracker;
@ -644,7 +659,12 @@ struct BattleStruct
u16 lastTakenMoveFrom[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT]; // a 2-D array [target][attacker]
union {
struct LinkBattlerHeader linkBattlerHeader;
#if HQ_RANDOM == FALSE
u32 battleVideo[2];
#else
struct BattleVideo battleVideo;
#endif
} multiBuffer;
u8 wishPerishSongState;
u8 wishPerishSongBattlerId;
@ -696,10 +716,10 @@ struct BattleStruct
u16 changedSpecies[NUM_BATTLE_SIDES][PARTY_SIZE]; // For forms when multiple mons can change into the same pokemon.
u8 quickClawBattlerId;
struct LostItem itemLost[PARTY_SIZE]; // Player's team that had items consumed or stolen (two bytes per party member)
u8 blunderPolicy:1; // should blunder policy activate
u8 swapDamageCategory:1; // Photon Geyser, Shell Side Arm, Light That Burns the Sky
u8 forcedSwitch:4; // For each battler
u8 switchInAbilityPostponed:4; // To not activate against an empty field, each bit for battler
u8 blunderPolicy:1; // should blunder policy activate
u8 swapDamageCategory:1; // Photon Geyser, Shell Side Arm, Light That Burns the Sky
u8 ballSpriteIds[2]; // item gfx, window gfx
u8 appearedInBattle; // Bitfield to track which Pokemon appeared in battle. Used for Burmy's form change
u8 skyDropTargets[MAX_BATTLERS_COUNT]; // For Sky Drop, to account for if multiple Pokemon use Sky Drop in a double battle.
@ -718,20 +738,24 @@ struct BattleStruct
uq4_12_t supremeOverlordModifier[MAX_BATTLERS_COUNT];
u8 itemPartyIndex[MAX_BATTLERS_COUNT];
u8 itemMoveIndex[MAX_BATTLERS_COUNT];
bool8 trainerSlideHalfHpMsgDone;
u8 trainerSlideFirstCriticalHitMsgState:2;
u8 trainerSlideFirstSuperEffectiveHitMsgState:2;
u8 trainerSlideFirstSTABMoveMsgState:2;
u8 trainerSlidePlayerMonUnaffectedMsgState:2;
bool8 trainerSlideMegaEvolutionMsgDone;
bool8 trainerSlideZMoveMsgDone;
bool8 trainerSlideBeforeFirstTurnMsgDone;
bool8 trainerSlideDynamaxMsgDone;
u8 trainerSlideHalfHpMsgDone:1;
u8 trainerSlideMegaEvolutionMsgDone:1;
u8 trainerSlideZMoveMsgDone:1;
u8 trainerSlideBeforeFirstTurnMsgDone:1;
u8 trainerSlideDynamaxMsgDone:1;
u8 pledgeMove:1;
u8 isSkyBattle:1;
u32 aiDelayTimer; // Counts number of frames AI takes to choose an action.
u32 aiDelayFrames; // Number of frames it took to choose an action.
bool8 transformZeroToHero[PARTY_SIZE][NUM_BATTLE_SIDES];
u8 pledgeMove:1;
bool8 isSkyBattle:1;
u8 timesGotHit[NUM_BATTLE_SIDES][PARTY_SIZE];
u8 enduredDamage;
u8 transformZeroToHero[NUM_BATTLE_SIDES];
u8 intrepidSwordBoost[NUM_BATTLE_SIDES];
u8 dauntlessShieldBoost[NUM_BATTLE_SIDES];
};
// The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider,
@ -739,9 +763,9 @@ struct BattleStruct
// The assert below is to ensure palaceFlags is large enough to store these flags without overlap.
STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLERS_COUNT + MAX_MON_MOVES, PalaceFlagsTooSmall)
#define F_DYNAMIC_TYPE_1 (1 << 6)
#define F_DYNAMIC_TYPE_2 (1 << 7)
#define DYNAMIC_TYPE_MASK (F_DYNAMIC_TYPE_1 - 1)
#define DYNAMIC_TYPE_MASK ((1 << 6) - 1)
#define F_DYNAMIC_TYPE_IGNORE_PHYSICALITY (1 << 6) // If set, the dynamic type's physicality won't be used for certain move effects.
#define F_DYNAMIC_TYPE_SET (1 << 7) // Set for all dynamic types to distinguish a dynamic type of Normal (0) from no dynamic type.
#define GET_MOVE_TYPE(move, typeArg) \
{ \
@ -751,21 +775,17 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER
typeArg = gBattleMoves[move].type; \
}
#define IS_MOVE_PHYSICAL(move)(GetBattleMoveSplit(move) == SPLIT_PHYSICAL)
#define IS_MOVE_SPECIAL(move)(GetBattleMoveSplit(move) == SPLIT_SPECIAL)
#define IS_MOVE_STATUS(move)(gBattleMoves[move].split == SPLIT_STATUS)
#define IS_MOVE_PHYSICAL(move)(GetBattleMoveCategory(move) == BATTLE_CATEGORY_PHYSICAL)
#define IS_MOVE_SPECIAL(move)(GetBattleMoveCategory(move) == BATTLE_CATEGORY_SPECIAL)
#define IS_MOVE_STATUS(move)(gBattleMoves[move].category == BATTLE_CATEGORY_STATUS)
#define IS_EFFECT_RECOIL(effect)(effect == EFFECT_RECOIL_25 \
|| effect == EFFECT_RECOIL_IF_MISS \
|| effect == EFFECT_RECOIL_50 \
|| effect == EFFECT_RECOIL_33 \
|| effect == EFFECT_RECOIL_33_STATUS)
#define IS_EFFECT_RECOIL(effect)(effect == EFFECT_RECOIL || effect == EFFECT_RECOIL_IF_MISS)
#define IS_MOVE_RECOIL(move)(IS_EFFECT_RECOIL(gBattleMoves[move].effect))
#define BATTLER_MAX_HP(battlerId)(gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP)
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0))
#define BATTLER_DAMAGED(battlerId) ((gSpecialStatuses[battlerId].physicalDmg != 0 || gSpecialStatuses[battlerId].specialDmg != 0))
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0) || (gBattleStruct->enduredDamage & gBitTable[gBattlerTarget]))
#define BATTLER_TURN_DAMAGED(battlerId) ((gSpecialStatuses[battlerId].physicalDmg != 0 || gSpecialStatuses[battlerId].specialDmg != 0) || (gBattleStruct->enduredDamage & gBitTable[battler]))
#define IS_BATTLER_OF_TYPE(battlerId, type)((GetBattlerType(battlerId, 0) == type || GetBattlerType(battlerId, 1) == type || (GetBattlerType(battlerId, 2) != TYPE_MYSTERY && GetBattlerType(battlerId, 2) == type)))
@ -968,7 +988,7 @@ extern u16 gBattle_WIN1V;
extern u8 gDisplayedStringBattle[425];
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff3[30]; //to handle stupidly large z move names
extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT + 13]; //to handle stupidly large z move names
extern u32 gBattleTypeFlags;
extern u8 gBattleTerrain;
extern u32 gUnusedFirstBattleVar1;
@ -991,7 +1011,7 @@ extern u16 gChosenMove;
extern u16 gCalledMove;
extern s32 gBattleMoveDamage;
extern s32 gHpDealt;
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
extern s32 gBideDmg[MAX_BATTLERS_COUNT];
extern u16 gLastUsedItem;
extern u16 gLastUsedAbility;
extern u8 gBattlerAttacker;
@ -1017,7 +1037,7 @@ extern u8 gLastHitBy[MAX_BATTLERS_COUNT];
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
extern u16 gMoveResultFlags;
extern u32 gHitMarker;
extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT];
extern u8 gBideTarget[MAX_BATTLERS_COUNT];
extern u8 gUnusedFirstBattleVar2;
extern u32 gSideStatuses[NUM_BATTLE_SIDES];
extern struct SideTimer gSideTimers[NUM_BATTLE_SIDES];
@ -1026,7 +1046,6 @@ extern u32 gStatuses4[MAX_BATTLERS_COUNT];
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
extern u16 gPauseCounterBattle;
extern u16 gPaydayMoney;
extern u16 gRandomTurnNumber;
extern u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT];
extern u8 gBattleOutcome;
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];

Some files were not shown because too many files have changed in this diff Show More